Pisanie miarodajnego benchmarku
Mierz ten sam proces w obu językach.
Pisanie miarodajnego benchmarku to bezpłatna lekcja Mojo Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Mojo Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Po co w ogóle przeprowadzać benchmark?
Aby udowodnić, że Mojo jest szybsze, trzeba to zmierzyć. Benchmark mierzy czas wykonania dokładnie tego samego zadania w obu językach, dzięki czemu liczby mają rzeczywiste znaczenie. 📊
To samo zadanie po obu stronach
Rzetelny test wykonuje identyczną pracę w Pythonie i Mojo. Jeśli algorytmy się różnią, porównuje się pomysły, a nie języki, więc wynik jest bezwartościowy.
Wybierz jedno obciążenie
Wybierz jedno, jasno określone obciążenie, na przykład sumowanie miliona liczb. Skoncentrowane zadanie łatwo powtarzać i analizować.
fn sum_to(n: Int) -> Int:
var total = 0
for i in range(n):
total += i
return totalMierz pracę, nie konfigurację
Uruchom stoper tuż przed rozpoczęciem pracy i zatrzymaj go zaraz po jej zakończeniu. Mierzenie wczytywania plików lub importów ukrywa rzeczywisty koszt obliczeń.
from time import now
var start = now()Mierz czas, który upłynął
Odejmij czas początkowy od końcowego, aby uzyskać czas, który upłynął. To tę pojedynczą wartość należy porównać między dwoma językami.
var start = now()
# ...work...
var elapsed = now() - startUruchom wiele razy
Jeden pomiar może być obarczony szumem. Powtórz zadanie wiele razy i oblicz średnią, aby przypadkowe zakłócenie nie zadecydowało o wyniku.
for trial in range(10):
var t = now()
sum_to(1_000_000)Najpierw rozgrzej program
Pierwsze uruchomienie często trwa dłużej z powodu buforowania i inicjalizacji. Wykonaj szybkie uruchomienie rozgrzewkowe i pomiń je przed właściwym pomiarem.
Użyj wystarczająco dużych danych wejściowych
Małe dane wejściowe są przetwarzane zbyt szybko, aby można było je zmierzyć. Wybierz dane wejściowe na tyle duże, aby praca trwała odpowiednio długo i stabilnie.
Unikaj usuwania martwego kodu
Jeśli wynik nigdy nie jest używany, kompilator może usunąć obliczenia. Wypisz lub zachowaj dane wyjściowe, aby mierzony kod rzeczywiście się wykonał.
var r = sum_to(1_000_000)
print(r)Ta sama maszyna, te same warunki
Uruchom obie wersje na tej samej maszynie, bez ciężkich procesów działających w tle. Inny sprzęt uniemożliwia wiarygodne porównanie.
Przedstaw wyniki jasno
Zapisz rozmiar danych wejściowych, liczbę uruchomień i średni czas. Przejrzysty raport pozwala każdemu zaufać benchmarkowi i go powtórzyć.
Szybkie sprawdzenie
Zastanówmy się, co sprawia, że porównanie jest wiarygodne.
Podsumowanie
Rzetelny benchmark mierzy tę samą pracę na tej samej maszynie, uwzględnia rozgrzewkę, wykonuje wiele powtórzeń i jasno przedstawia wyniki. Zmierzony wzrost szybkości jest teraz rzeczywisty. 🎯
Często zadawane pytania
Czy lekcja „Pisanie miarodajnego benchmarku” jest bezpłatna?
Tak — pełny tekst „Pisanie miarodajnego benchmarku” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Mojo Academy, przejdź na CoddyKit PRO. Kurs Mojo Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pisanie miarodajnego benchmarku”?
Mierz ten sam proces w obu językach. Ćwiczysz Mojo Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Mojo Academy?
Nie wymagamy żadnego doświadczenia. Mojo Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Pisanie miarodajnego benchmarku”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Mojo Academy?
Tak. Każda lekcja Mojo Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pisanie miarodajnego benchmarku
- Dlaczego fn i typy zwiększają szybkość
- Uczciwa interpretacja wyników
- Idiomy Mojo