On Fri, Oct 13, 2006 at 04:55:23PM +0200, Tobias Koenig wrote:
Ich würde dir empfehlen valgrind mit dem cachegrind tool zu verwenden. Valgrind emuliert einen kompletten Prozessor, so daß jeder Register/Speicherzugriff mitprotokolliert wird und mittels kcachegrind sogar eine graphische Auswertung gemacht werden kann.
Danke! valgrind habe ich mir gerade mal angeschaut. Ganz nett, scheint im Gegensatz zu gprof keine Funktionen ,,zu vergessen''. Allerdings macht es durch die Emulation den ganzen Prozess extrem langsam.
Für meine ursprüngliche Aufgabe, mal eben schnell herauszufinden, welche Aufrufe innerhalbe einer Funktion die meiste Zeit verbrauchen, sieht es ganz brauchbar aus.
Das Problem, das ich sehe, ist, dass der Code, der mit Profiler/valgrind läuft, wahrscheinlich ziemlich wenig mit dem Code des finalen Binaries (mit eingeschalteter Optimierung) zu tun hat.
Aber damit muss man wohl leben...
Es ist allerdings von Vorteil die Qt4 Bibliothek auch mit Debug-Optionen zu kompilieren um aussagekräftige Diagramme zu bekommen.
Jo, habe ich schon da und werden auch benutzt.
Wie sieht denn dein Code aus? Evtl. kann man auf Ebene der Algorithmen schon bei der Optimierung anfangen?
Problem war, dass ich mir mit Hilfe zweier verschachtelter for-Schleifen alle Pixelwerte eins Bildes angeschaut habe und diese dann jeweils in einen anderen Farbraum transformiert habe.
Dabei habe ich nur QT-Bordmittel verwendet. Aber wie immer im Leben scheint es auch dort wichtig zu sein, zu wissen ,,was die Welt, im Innersten zusammenhält''. EINFACH ist eben nicht immer gleich SCHNELL!
Nochmal danke für deinen Tipp!
Marcus