PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Profiling von "normaler" Software



7.e.Q
07-11-2006, 07:56
Hi Leute,

gibt es 'ne Möglichkeit, ein Profil (Zeitaufwand, Speicherbedarf etc.) eines Programms (mit Debuginfos) anzulegen, ohne daß dieses auf spezielle Weise kompiliert/gelinkt werden muss und ohne, daß das Profiling Einfluss auf das Timing der Software hat?

Danke

Grüße,
Hendrik

bischi
07-11-2006, 08:39
Wie heisst es in der Physik so schön: "Du kannst kein System beobachten, ohne es zu verändern."

MfG Bischi

7.e.Q
07-11-2006, 08:45
Naja, okay... aber zumindest sollte man die Veränderung in dem geringst möglichen Maß halten... ist sowas möglich?

Boron
07-11-2006, 19:06
Profiling mit gprof:
http://linuxgazette.net/100/vinayak.html
http://speedup.superhits.ch/profiler.html

7.e.Q
08-11-2006, 06:45
Das Problem ist, daß die Software, die ich profilen will (blöder Anglizismus), unter Windows in einer Cygwin Umgebung crosscompiled (noch so'n Anglizismus) wird. Und diese Compiler-Umgebung (...) ist derart abgespeckt und inzwischen, ich glaube, was bei 10 Jahre alt... wie alt ist der GCC 2.95? Wir haben uns mal an einem Update (:p) auf die neueste Version versucht, was aber bisher jedes Mal kläglich gescheitert ist.

Das soll heißen, es ist uns nicht vergönnt, viel am Übersetzungsvorgang zu verändern, ohne eine Lavine an Problemen loszutreten.

Es wäre also - und darum ging's in meiner Frage auch - sehr praktisch, wenn es ein Profiling Tool gäbe, das allein mit den vom Compiler generierten Debugging-Informationen auskommt.

7.e.Q
08-11-2006, 12:21
Hmm... also ich hab unsere Software mal mit dem alten GCC 2.95 mit dem Parameter -pg durchkompiliert. Es wird allerdings trotzdem keine gmon.out nach einem Lauf erzeugt. <-- EDIT: kann das eventuell daran liegen, daß die Software mit 'nem SIGKILL beendet wurde? <-- EDIT: Wohl nicht; hab das SIGKILL rausgenommen, die Software normal beenden lassen (SIGTERM geschickt). Trotzdem gibt's keine gmon.out


Beim Linken kann ich den Parameter nicht angeben, da der Linker sich dann über eine fehlende gcrt1.o beschwert.

RapidMax
12-11-2006, 22:09
Im Linux-Magazin hat es ein Bericht über Intel's vtune suite. Die sollte genau deinen Wünschen entsprechen. Unter Linux hätte ich dir noch sysprof vorgeschlagen.

Gruss, Andy

7.e.Q
13-11-2006, 07:04
Sysprof klingt schön. Gibt's den auch als Konsolenversion? Ich hab leider kein X auf dem System.