Profiling
-
Hallo!
Ich verwende unter Linux gcc. Fürs Profilen kommt die Option -pg und das GUI
kprof zum Einsatz. Nun habe ich bei einer Funktion triangulate() eine Laufzeit,
die (mittels clock() gemessen) 26 Sekunden braucht. Im kprof wird für
triangulate() aber eine Total-Time von nur 13.5 Sekunden angezeigt, was ganz
korrekt den Total-Times der von triangulate() aufgerufenen Funktionen entspricht.Wo gehen also 50 Prozent der Zeit verloren? Bei den Millionen Funktionsaufrufen,
die von triangulate() aus passieren. Okay. Also inline ich die am häufigsten
aufgerufenen, die auch recht kurz sind. Dann sollte IMHO die von clock()
gemessene Zeit ähnlich der Total-Time von triangulate() sein. Ist aber nicht
der Fall. Welche Zeit wird denn beim Profiling nicht mitgezählt? Die Funktions-
aufrufe sind scheinbar nicht als einzige schuld.Danke, lg