计时与基准测试工具
先衡量,再优化
计时与基准测试工具 是 CoddyKit 上的免费 Mojo Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Mojo Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Mojo Academy 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Measure Before You Optimize
Never guess where time goes. You first measure your code, because the slow part is rarely the part you expected. ⏱️
The time Module
Mojo ships a time module with helpers to read the clock. It is your simplest tool for timing a block of work.
from time import nowReading the Clock
The now function returns the current time in nanoseconds. Capture it just before and just after the work you want to measure.
var start = now()
# ...work...
var end = now()Computing Elapsed Time
Subtract start from end to get the elapsed nanoseconds. Divide to convert into milliseconds or seconds for readable output.
var elapsed_ns = end - start
var ms = elapsed_ns / 1_000_000Wall Clock vs Work
Wrap only the code you care about. If you also time setup or printing, that noise hides the real compute cost you are chasing.
Use the benchmark Module
For serious numbers, Mojo offers a benchmark module that runs your code many times and reports a stable average automatically.
from benchmark import keepKeep Results Alive
The keep function tells the compiler a value really matters. Without it, dead-code removal may delete the work you meant to time.
var r = compute()
keep(r)Repeat for Stable Numbers
One run is noisy from caches and the OS. Running many iterations and averaging gives a number you can actually trust.
Warm Up the Code
The first run is often slow due to cold caches and startup. A short warmup you discard makes later timings reflect steady-state speed.
Pick a Meaningful Input
Tiny inputs finish too fast to measure well. Choose an input big enough that the work takes a steady, measurable amount of time.
Time Consistently
Always benchmark on the same machine with little running in the background. Stable conditions keep one run comparable to the next.
Quick Check
Think about why we time code at all.
Recap
You learned to measure first: read now from the time module, use benchmark with keep, warm up, repeat, and time steady work. 🎯
常见问题解答
「计时与基准测试工具」课时是免费的吗?
是的 — 「计时与基准测试工具」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Mojo Academy 课程的其余内容,请升级到 CoddyKit PRO。 Mojo Academy 课程共包含 4 节课。
「计时与基准测试工具」这节课中我会学到什么?
先衡量,再优化 你通过在浏览器中直接运行的动手代码来练习 Mojo Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Mojo Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Mojo Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「计时与基准测试工具」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Mojo Academy 课中编写并运行代码吗?
能。每节 Mojo Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。