Mojo Academy · Lekcja

Narzędzia do pomiaru czasu i benchmarków

Mierz przed optymalizacją.

Lekcja 1 z 413 kroki

Narzędzia do pomiaru czasu i benchmarków 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.

Najpierw mierz, potem optymalizuj

Nigdy nie zgaduj, na co zużywany jest czas. Najpierw mierz kod, ponieważ powolny fragment rzadko jest tym, którego się spodziewasz. ⏱️

Moduł time

Mojo dostarcza moduł time z pomocniczymi funkcjami do odczytu zegara. To najprostsze narzędzie do mierzenia czasu wykonania fragmentu pracy.

from time import now

Odczytywanie zegara

Funkcja now zwraca bieżący czas w nanosekundach. Odczytaj go tuż przed rozpoczęciem mierzonej pracy i tuż po jej zakończeniu.

var start = now()
# ...work...
var end = now()

Obliczanie czasu, który upłynął

Odejmij czas początkowy od końcowego, aby uzyskać liczbę nanosekund, które upłynęły. Podziel ją, aby przeliczyć wynik na milisekundy lub sekundy i uzyskać czytelny rezultat.

var elapsed_ns = end - start
var ms = elapsed_ns / 1_000_000

Zegar ścienny a praca obliczeniowa

Odmierzaj czas tylko kodu, który Cię interesuje. Jeśli zmierzysz również przygotowanie danych lub wypisywanie wyników, ten szum ukryje rzeczywisty koszt obliczeń, który próbujesz zbadać.

Użyj modułu benchmark

Do uzyskania wiarygodnych wyników Mojo oferuje moduł benchmark, który wielokrotnie uruchamia kod i automatycznie podaje stabilną średnią.

from benchmark import keep

Zachowaj wyniki

Funkcja keep informuje kompilator, że dana wartość rzeczywiście ma znaczenie. Bez niej usuwanie martwego kodu może wyeliminować pracę, której czas miałeś zmierzyć.

var r = compute()
keep(r)

Powtarzaj, aby uzyskać stabilne wyniki

Pojedynczy przebieg jest podatny na zakłócenia powodowane przez pamięć podręczną i system operacyjny. Wykonanie wielu iteracji i uśrednienie wyników daje liczbę, której można zaufać.

Rozgrzej kod

Pierwszy przebieg często trwa dłużej z powodu pustych pamięci podręcznych i uruchamiania programu. Krótki, pominięty rozbieg sprawia, że późniejsze pomiary odzwierciedlają szybkość w stanie ustalonym.

Wybierz miarodajne dane wejściowe

Małe dane wejściowe są przetwarzane zbyt szybko, aby można było je dobrze zmierzyć. Wybierz dane wejściowe wystarczająco duże, aby działanie trwało stabilny, mierzalny czas.

Mierz w stałych warunkach

Zawsze wykonuj benchmark na tej samej maszynie, z niewielką liczbą programów działających w tle. Stabilne warunki sprawiają, że jeden przebieg można porównać z kolejnym.

Szybkie sprawdzenie

Zastanów się, dlaczego w ogóle mierzymy czas wykonania kodu.

Podsumowanie

Nauczyłeś się najpierw mierzyć: odczytywać now z modułu time, używać benchmark wraz z keep, rozgrzewać kod, powtarzać pomiary i mierzyć stabilną pracę. 🎯

Bezpłatny start

Ucz się Mojo dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Narzędzia do pomiaru czasu i benchmarków” jest bezpłatna?

Tak — pełny tekst „Narzędzia do pomiaru czasu i benchmarków” 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 „Narzędzia do pomiaru czasu i benchmarków”?

Mierz przed optymalizacją. Ć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 „Narzędzia do pomiaru czasu i benchmarków”?

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

  1. Narzędzia do pomiaru czasu i benchmarków
  2. Znajdowanie rzeczywistego wąskiego gardła
  3. Optymalizowanie tego, co ma znaczenie
  4. Odczytywanie raportu profilowania
← Powrót do Mojo Academy