Mojo Academy · leksjon

Profilere Python-baseline

Finn den langsomme kodebanen som bør flyttes.

Leksjon 1 av 413 trinn

Profilere Python-baseline er en gratis leksjon i Mojo Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mojo Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mojo Academy inneholder totalt 4 leksjoner.

Start med en referanseverdi

Før De porter noe, måler De Python-appen slik den er i dag. Denne referanseverdien er tallet alle senere hastighetsøkninger sammenlignes med. 📊

Hvorfor profilere først

Mesteparten av tiden i et program skjuler seg i en liten del av koden. Profilering viser nøyaktig hvor, slik at De porter den trege delen og lar resten være.

Mål hele kjøringen

Mål først hele oppgaven fra start til slutt. Denne totale veggklokketiden er hovedtallet og det enkleste å følge over tid.

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

Profiler per funksjon

Python sin cProfile bryter kjøringen ned per funksjon, slik at De kan se hvilke kall som bruker mest tid i hele programmet.

python -m cProfile -s cumtime app.py

Les de varme funksjonene

Sorter rapporten etter total tid, og se på de øverste radene. Den kritiske kjørebanen består vanligvis av én eller to funksjoner som utfører det egentlige tungarbeidet.

Finn den tette løkken

Let etter en løkke over mange elementer som utfører matematikk, inne i den varme funksjonen. Denne indre løkken er nesten alltid delen det lønner seg å porte til Mojo.

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

Kontroller inndatastørrelsen

En løkke er bare verdt å porte hvis den kjører mye. Legg merke til datastørrelsen, siden én million iterasjoner betyr langt mer enn ti.

Ta vare på tallene

Skriv ned referansetiden og andelen til den varme funksjonen. Senere sammenligner De med disse tallene for å bevise at porteringen lønte seg.

Se etter I/O-tid

Hvis mesteparten av tiden brukes på å lese filer eller nettverket, er det I/O, ikke beregning. Mojo gjør matematiske beregninger raskere, så sørg for at flaskehalsen er CPU-arbeid.

Bekreft at beregningene er begrensningen

Et godt portingsmål er compute-bound: mange aritmetiske operasjoner på mange elementer, med lite venting. Det er nettopp her Mojo utmerker seg.

Velg ett mål

Velg den tregeste beregningsbegrensede kritiske kjørebanen som skal skrives om først. Ett tydelig mål holder sluttprosjektet Deres fokusert og enkelt å måle.

Hurtigsjekk

Velg det beste første steget når De skal gjøre en Python-app raskere.

Oppsummering

Mål Python-referanseverdien, profiler for å finne den beregningsbegrensede varme løkken, og velg ett tydelig mål. Nå vet De nøyaktig hva som skal porteres. 🎯

Gratis å komme i gang

Lær deg Mojo med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Profilere Python-baseline» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Mojo Academy, inkludert «Profilere Python-baseline», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Mojo Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Profilere Python-baseline»?

Finn den langsomme kodebanen som bør flyttes. Du øver på Mojo Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Mojo Academy?

Ingen tidligere erfaring er nødvendig. Mojo Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Profilere Python-baseline»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Mojo Academy-leksjonen?

Ja. Alle Mojo Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Profilere Python-baseline
  2. Skrive om den varme kodebanen i Mojo
  3. Parallellisere og finjustere kjernen
  4. Levere det akselererte prosjektet
← Tilbake til Mojo Academy