Um fuer ein Programm ein gprof Profil zu erstellen, muss man dessen Quellcode mit -pg compilieren und dann das Executable mit -pg linken. Zwei Fragen: 1) Welchen Einfluss hat das Profiling selbst auf die Laufzeit des Programms? Gibt es hierzu ein paar Faustregeln? 2) Wenn der Quellcode zwar mit -pg compiliert wird (z.B. eine Bibliothek), aber das Executable nicht mit -pg gelinkt wird, dann erhaelt man letztendlich keine gmon.out Datei. Hat das Compilieren mit -pg dennoch Auswirkungen auf die Laufzeit/Performance des Programms? Danke fuer Auskuenfte, Thomas -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
On 13/02/10 16:52, Thomas Hertweck wrote:
Um fuer ein Programm ein gprof Profil zu erstellen, muss man dessen Quellcode mit -pg compilieren und dann das Executable mit -pg linken.
Zwei Fragen:
1) Welchen Einfluss hat das Profiling selbst auf die Laufzeit des Programms? Gibt es hierzu ein paar Faustregeln?
2) Wenn der Quellcode zwar mit -pg compiliert wird (z.B. eine Bibliothek), aber das Executable nicht mit -pg gelinkt wird, dann erhaelt man letztendlich keine gmon.out Datei. Hat das Compilieren mit -pg dennoch Auswirkungen auf die Laufzeit/Performance des Programms?
Keiner irgendwelche naeheren Infos? Das entspricht zwar ungefaehr dem Ergebnis meiner google-Suche (sprich: man findet diese oder aehnliche Fragen, aber keine Antworten), ich hatte allerdings gehofft, dass es auf dieser Liste vielleicht doch ein paar Leute gibt, die naeheres wissen... Da kann man wohl nichts machen. Anyway, Danke somit zumindest fuers Lesen der Email ;-) Cheers, Thomas -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
On Tue, 16 Feb 2010 19:40:53 +0000, you wrote:
Keiner irgendwelche naeheren Infos?
Frag doch einfach mal auf opensuse-factory nach. Da treiben sich in der Regel einige der SUSE-Entwickler rum und können Dir eventuell helfen. Philipp -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
On 16/02/10 21:25, Philipp Thomas wrote:
On Tue, 16 Feb 2010 19:40:53 +0000, you wrote:
Keiner irgendwelche naeheren Infos?
Frag doch einfach mal auf opensuse-factory nach. Da treiben sich in der Regel einige der SUSE-Entwickler rum und können Dir eventuell helfen.
Danke fuer den Hinweis. Mir ist da nicht so ganz wohl dabei, weil ich ja dachte, dass fuer solche Fragen genau die programming Mailinglisten gedacht sind - factory scheint da doch eher der falsche Platz zu sein (zumindest meinem Verstaendnis nach). Vielleicht probiere ich es morgen erst einmal auf der englischen opensuse-programming Mailingliste... Gruesse, Thomas -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
Hi Thomas * Thomas Hertweck (Thomas.Hertweck@web.de) [20100213 17:53]:
Um fuer ein Programm ein gprof Profil zu erstellen, muss man dessen Quellcode mit -pg compilieren und dann das Executable mit -pg linken.
Zwei Fragen:
Ich habe jetzt mal unseren Toolchain-Spezialisten gefragt. Hier seine Antwort: -----------------------------
1) Welchen Einfluss hat das Profiling selbst auf die Laufzeit des Programms?
Jede mit -pg compilierte Funktion ruft beim Entry mcount auf, welche dann den Stack abläuft (backtraces) und ein bisschen Statistik macht. Das Programm wird also langsamer.
Gibt es hierzu ein paar Faustregeln?
Hängt davon ab wieviele Funktionsaufrufe gemacht werden. Wenn es im Verhältnis zur Gesamtlaufzeit sehr viele sind (z.B. viele kleine triviale Helperfunktionen), dann kann das Programm schonmal doppelt so langsam werden. Üblich sind aber eher 1%-10% .
2) Wenn der Quellcode zwar mit -pg compiliert wird (z.B. eine Bibliothek), aber das Executable nicht mit -pg gelinkt wird, dann erhaelt man letztendlich keine gmon.out Datei. Hat das Compilieren mit -pg dennoch Auswirkungen auf die Laufzeit/Performance des Programms?
Ja. Obige calls nach mcount werden natuerlich trotzdem gemacht. Nur der abschliessende Dump der gesammelten Information fehlt. ----------------------------- Ich hoffe das hilft Dir weiter. cheers Philipp -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
On 17/02/10 17:30, Philipp Thomas wrote:
[...] Ich hoffe das hilft Dir weiter.
Super, vielen Dank. Genau die Antworten, die ich brauchte. Gruesse aus London, Thomas -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org
participants (3)
-
Philipp Thomas
-
Philipp Thomas
-
Thomas Hertweck