Previous achievement | Next achievement

( O. Profilering och optimering )

O42

Profilering och optimering 1/3

Level Assessment
3 L

Använda profileringsverktyg för att visa var ett redan skrivet program tillbringar mest tid.

Observera att dessa mål passar särskilt bra under projektet.

"Premature optimisation is the root of all evil" är ett citat från Donald Knuth. Ett delmål i denna kurs är att lära sig att använda tillämpliga verktyg för att förstå ett programs beteende under körning med avseende på prestanda, dvs. efter att programmet är implementerat ta fram det data som sedan krävs för att göra en faktisk optimering.

Lämpligen tar du fram vilka delar av programmet som tar längst tid att köra respektive körs flest gånger. Några frågor att besvara:

Observera att det är dumt att profilera ett grafiskt program typ lagerhanteraren eftersom 99% av körtiden är väntan på I/O. Däremot kan man profilera delar av lagerhanteraren. Ta insättning i det binära sökträdet som ett exempel. Skriv ett litet program som använder samma binära sökträd och gör 1 miljon insättning av varor i databasen och sedan 1 miljon sökningar. Det är mer intressant att profilera.

Profilera ett C-program

Man kan använda verktyget gprof för att mäta körtiden hos ett C-program. Det finns flera tutorials på näten, t.ex. denna.

Profilera ett Java-program

Se t.ex. denna screencast.

Ge gärna kommentarer och rapportera buggar (klicka på den senaste commiten)

Edit | Back