Mojo Academy · Lektion

Profilér Python-baseline

Find den langsomme kodevej, der er værd at portere.

Lektion 1 af 413 trin

Profilér Python-baseline er en gratis Mojo Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mojo Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mojo Academy-kurset indeholder 4 lektioner i alt.

Start med en referenceværdi

Før du porter noget, skal du måle Python-programmet, som det er i dag. Denne referenceværdi er det tal, som alle senere hastighedsforbedringer sammenlignes med. 📊

Hvorfor profilere først

Det meste af et programs tid gemmer sig i en lille del af koden. Profilering viser dig præcis hvor, så du porter den langsomme del og springer resten over.

Mål hele kørslen

Mål først hele opgaven fra start til slut. Denne samlede vægur-tid er dit vigtigste tal og det letteste at følge over tid.

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

Profilér pr. funktion

Python's cProfile opdeler kørslen pr. funktion, så du kan se, hvilke kald der bruger mest tid i hele programmet.

python -m cProfile -s cumtime app.py

Læs de varme funktioner

Sortér rapporten efter samlet tid, og se på de øverste rækker. Den varme sti består som regel af én eller to funktioner, der udfører det egentlige tunge arbejde.

Find den tætte løkke

Led inde i den varme funktion efter en løkke over mange elementer, som udfører matematik. Den indre løkke er næsten altid den del, der er værd at porte til Mojo.

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

Kontrollér inputstørrelsen

En løkke er kun værd at porte, hvis den kører mange gange. Notér datastørrelsen, for en million iterationer betyder langt mere end ti.

Gem tallene

Skriv referenceværdien for tiden og den varme funktions andel ned. Senere sammenligner du med disse tal for at bevise, at porteringen gav gevinst.

Hold øje med I/O-tid

Hvis det meste af tiden bruges på at læse filer eller netværket, er det I/O og ikke beregning. Mojo gør matematik hurtigere, så sørg for, at flaskehalsen er CPU-arbejde.

Bekræft, at beregning er flaskehalsen

Et godt porteringsmål er beregningsbundet: mange aritmetiske operationer over mange elementer og kun lidt ventetid. Det er præcis dér, Mojo udmærker sig.

Vælg ét mål

Vælg den langsomste beregningsbundne varme sti, som du vil omskrive først. Ét klart mål holder dit afsluttende projekt fokuseret og let at måle.

Hurtigt tjek

Vælg det bedste første skridt, når du vil gøre et Python-program hurtigere.

Opsummering

Mål Python-programmets referenceværdi, profilér for at finde den beregningsbundne varme løkke, og vælg ét klart mål. Nu ved du præcis, hvad du skal porte. 🎯

Gratis at komme i gang

Lær Mojo med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Profilér Python-baseline” gratis?

Ja — alle 3 lektioner i læringssporet Mojo Academy, inklusive “Profilér Python-baseline”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mojo Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Profilér Python-baseline”?

Find den langsomme kodevej, der er værd at portere. Du øver dig i Mojo Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mojo Academy?

Der kræves ingen tidligere erfaring. Mojo Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Profilér Python-baseline”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mojo Academy-lektion?

Ja. Alle Mojo Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Profilér Python-baseline
  2. Omskriv den varme kodevej i Mojo
  3. Parallelisér og tun kernen
  4. Udgiv det accelererede projekt
← Tilbage til Mojo Academy