การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม
จับเวลางานเดียวกันในทั้งสองภาษา
การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม เป็นบทเรียน Mojo Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Mojo Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Why Benchmark at All?
To prove Mojo is faster, you measure it. A benchmark times the exact same task in both languages so the numbers actually mean something. 📊
Same Task, Both Sides
A fair test runs identical work in Python and Mojo. If the algorithms differ, you compare ideas, not languages, and the result is meaningless.
Pick One Workload
Choose a single, clear workload, like summing a million numbers. A focused task is easy to repeat and easy to reason about.
fn sum_to(n: Int) -> Int:
var total = 0
for i in range(n):
total += i
return totalTime the Work, Not Setup
Start the clock right before the work and stop it right after. Timing file loading or imports hides the real compute cost.
from time import now
var start = now()Measure Elapsed Time
Subtract the start from the end to get elapsed time. That single number is what you will compare across the two languages.
var start = now()
# ...work...
var elapsed = now() - startRun It Many Times
One run can be noisy. Repeat the task many times and average, so a random hiccup does not decide your result.
for trial in range(10):
var t = now()
sum_to(1_000_000)Warm Up First
The first run is often slow due to caching and startup. Do a quick warmup run and ignore it before timing for real.
Use a Big Enough Input
Tiny inputs finish too fast to measure. Pick an input large enough that the work takes a meaningful, steady amount of time.
Avoid Dead-Code Removal
If a result is never used, the compiler may delete the work. Print or keep the output so the timed code actually runs.
var r = sum_to(1_000_000)
print(r)Same Machine, Same Conditions
Run both versions on the same machine with nothing heavy in the background. Different hardware ruins any comparison.
Report It Clearly
Write down the input size, number of runs, and the average time. A clear report lets anyone trust and repeat your benchmark.
Quick Check
Think about what makes a comparison trustworthy.
Recap
A fair benchmark times the same work on the same machine, warms up, repeats, and reports clearly. Now the speedup you measure is real. 🎯
คำถามที่พบบ่อย
บทเรียน “การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Mojo Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม”
จับเวลางานเดียวกันในทั้งสองภาษา คุณปฏิบัติ Mojo Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Mojo Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Mojo Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Mojo Academy นี้ได้ไหม
ได้ บทเรียน Mojo Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเขียนการทดสอบประสิทธิภาพที่เป็นธรรม
- เหตุใด fn และชนิดข้อมูลจึงเพิ่มความเร็ว
- การอ่านตัวเลขอย่างตรงไปตรงมา
- แนวปฏิบัติ Mojo แบบเป็นธรรมชาติ