0Pricing
Mojo Academy · Lekcja

Profilowanie bazowej wersji w Pythonie

Znajdź powolną ścieżkę wartą przeniesienia.

Profilowanie bazowej wersji w Pythonie 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.

Zacznij od punktu odniesienia

Zanim przeniosą Państwo cokolwiek, proszę zmierzyć działanie aplikacji Python w obecnym stanie. Ten punkt odniesienia to wartość, z którą porównuje się każde późniejsze przyspieszenie. 📊

Dlaczego najpierw profilować

Większość czasu programu kryje się w niewielkim fragmencie kodu. Profilowanie pokazuje dokładnie którym, dzięki czemu można przenieść powolną część i pominąć resztę.

Zmierz całe uruchomienie

Najpierw proszę zmierzyć czas pełnego zadania od początku do końca. Ta wartość czasu rzeczywistego jest najważniejszą liczbą i najłatwiej śledzić ją w czasie.

import time
start = time.perf_counter()
run_app()
print(time.perf_counter() - start)

Profiluj według funkcji

cProfile języka Python rozbija uruchomienie na poszczególne funkcje, dzięki czemu można zobaczyć, które wywołania pochłaniają najwięcej czasu w całym programie.

python -m cProfile -s cumtime app.py

Czytaj informacje o gorących funkcjach

Proszę posortować raport według czasu całkowitego i przyjrzeć się pierwszym wierszom. Gorąca ścieżka to zwykle jedna lub dwie funkcje wykonujące zasadniczą pracę.

Znajdź ciasną pętlę

W gorącej funkcji proszę poszukać pętli wykonującej obliczenia dla wielu elementów. Ta pętla wewnętrzna niemal zawsze jest częścią, którą warto przenieść do Mojo.

def compute(data):
    total = 0.0
    for x in data:
        total += x * x
    return total

Sprawdź rozmiar danych wejściowych

Pętlę warto przenosić tylko wtedy, gdy wykonuje się często. Proszę zanotować rozmiar danych, ponieważ milion iteracji ma znacznie większe znaczenie niż dziesięć.

Zapisz liczby

Proszę zapisać czas bazowy i udział gorącej funkcji. Później te liczby posłużą do udowodnienia, że przeniesienie kodu przyniosło korzyści.

Zwróć uwagę na czas operacji wejścia-wyjścia

Jeśli większość czasu zajmuje odczyt plików lub praca z siecią, są to operacje I/O, a nie obliczenia. Mojo przyspiesza obliczenia matematyczne, dlatego należy upewnić się, że wąskim gardłem jest praca procesora.

Potwierdź, że problem dotyczy obliczeń

Dobry cel do przeniesienia jest ograniczony obliczeniami: wykonuje wiele działań arytmetycznych dla wielu elementów i niewiele czasu spędza na oczekiwaniu. Właśnie w takich zadaniach Mojo pokazuje swoją siłę.

Wybierz jeden cel

Proszę najpierw wybrać pojedynczą, najwolniejszą obliczeniową gorącą ścieżkę do przepisania. Jeden jasny cel sprawi, że projekt końcowy pozostanie skoncentrowany i łatwy do zmierzenia.

Szybkie sprawdzenie

Proszę wybrać najlepszy pierwszy krok podczas przyspieszania aplikacji Python.

Podsumowanie

Zmierzono punkt odniesienia aplikacji Python, wykonano profilowanie w celu znalezienia gorącej pętli ograniczonej obliczeniami i wybrano jeden jasny cel. Teraz wiadomo dokładnie, co należy przenieść. 🎯

Często zadawane pytania

Czy lekcja „Profilowanie bazowej wersji w Pythonie” jest bezpłatna?

Tak — pełny tekst „Profilowanie bazowej wersji w Pythonie” 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 „Profilowanie bazowej wersji w Pythonie”?

Znajdź powolną ścieżkę wartą przeniesienia. Ć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 „Profilowanie bazowej wersji w Pythonie”?

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. Profilowanie bazowej wersji w Pythonie
  2. Przepisywanie ścieżki krytycznej w Mojo
  3. Równoleglenie i dostrajanie rdzenia
  4. Dostarczanie przyspieszonego projektu
← Powrót do Mojo Academy