De Python-baseline profileren
Vind het trage pad dat het porten waard is
De Python-baseline profileren is een gratis Mojo Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Mojo Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Mojo Academy bevat in totaal 4 lessen.
Begin met een nulmeting
Meet de Python-app zoals die nu is voordat je iets overzet. Deze nulmeting is het getal waarmee elke latere snelheidswinst wordt vergeleken. 📊
Waarom je eerst profileert
Het grootste deel van de tijd van een programma zit verborgen in een klein stukje code. Profileren laat precies zien waar, zodat je alleen het trage deel overzet en de rest overslaat.
Meet de volledige uitvoering
Meet eerst de volledige taak van begin tot eind. Dit totale wandklok-tijd is je belangrijkste getal en het eenvoudigst om in de loop van de tijd te volgen.
import time
start = time.perf_counter()
run_app()
print(time.perf_counter() - start)Profileer per functie
Python's cProfile splitst de uitvoering per functie uit, zodat je kunt zien welke aanroepen in het hele programma de meeste tijd kosten.
python -m cProfile -s cumtime app.pyLees de hete functies
Sorteer het rapport op totale tijd en bekijk de bovenste rijen. Het kritieke pad bestaat meestal uit één of twee functies die het echte zware werk doen.
Vind de krappe lus
Zoek in de hete functie naar een lus over veel elementen waarin berekeningen worden uitgevoerd. Die binnenste lus is bijna altijd het onderdeel dat de moeite waard is om naar Mojo over te zetten.
def compute(data):
total = 0.0
for x in data:
total += x * x
return totalControleer de invoergrootte
Een lus is alleen de moeite waard om over te zetten als die vaak wordt uitgevoerd. Noteer de gegevensgrootte, want een miljoen iteraties is veel belangrijker dan tien.
Noteer de getallen
Noteer de tijd van de nulmeting en het aandeel van de hete functie. Later vergelijk je die met deze getallen om te bewijzen dat het overzetten de moeite waard was.
Let op I/O-tijd
Als de meeste tijd wordt besteed aan het lezen van bestanden of het netwerk, gaat het om I/O en niet om berekeningen. Mojo versnelt wiskundige berekeningen, dus controleer of de bottleneck CPU-werk is.
Bevestig dat berekeningen de grens vormen
Een goed doelwit voor het overzetten is compute-bound: veel rekenwerk over veel elementen, met weinig wachttijd. Precies daar blinkt Mojo in uit.
Kies één doelwit
Kies eerst het ene traagste hete pad dat door berekeningen wordt beheerst. Met één duidelijk doel blijft je eindproject gericht en eenvoudig te meten.
Snelle controle
Kies de beste eerste stap om een Python-app sneller te maken.
Samenvatting
Meet de Python-nulmeting, profileer om de hete lus te vinden die door berekeningen wordt beheerst en kies één duidelijk doel. Nu weet je precies wat je moet overzetten. 🎯
Leer Mojo met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “De Python-baseline profileren” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Mojo Academy, waaronder “De Python-baseline profileren”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Mojo Academy bevat in totaal 4 lessen.
Wat leer ik in “De Python-baseline profileren”?
Vind het trage pad dat het porten waard is Je oefent met Mojo Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Mojo Academy te beginnen?
Ervaring vooraf is niet nodig. Mojo Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “De Python-baseline profileren”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Mojo Academy?
Ja. Elke les over Mojo Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De Python-baseline profileren
- Het kritieke pad herschrijven in Mojo
- De kern paralleliseren en tunen
- Het versnelde project releasen