Ich habe zwei Profiling-Tools (VTune auf Windows und dbx (innerhalb von Sunstudio) auf Solaris) verwendet, die Programm profilieren können, ohne sie neu zu erstellen, und während der Profilerstellung, das Programm läuft nur mit der gleichen Geschwindigkeit wie normal. Beide Funktionen haben mir viel Zeit gespart.Wie Profil Programm auf Linux-Plattform ohne Neuaufbau?
Jetzt möchte ich wissen, ob es einige kostenlose Tools auf Linux-Plattform gibt, die das gleiche tun können. Ich denke, ich brauche Profiling-Tools basierend auf Stichproben. VTune ist gut, aber teuer ... Ich habe von Gprof und Valgrind gehört. Aber gprof muss das Programm instrumentieren (also müssen wir das Programm neu aufbauen) und valgrind wird die Programmausführung ziemlich verlangsamen. (von Valgrind Einführung führt Cachegrind Programme etwa 20-100x langsamer als normal, und Callgrind, die ich Profilerstellung auf Cachegrind basiert)
Zum Profiling, ich muss nur herausfinden, die Ausführungszeit von Funktionsaufrufen, damit ich kann herausfinden, wo die Leistungsdegradation auftritt. Eigentlich brauche ich nicht viele Low-Level-Profiling-Informationen wie Cachegrind zur Verfügung gestellt ...
Yeah ... Das scheint, was ich brauche .. Aber ich denke es braucht Root-Account einzurichten, oder? – superb
Ja, es muss root eingerichtet werden. Oder sudo, abhängig davon, wie Ihre sudoers-Datei eingerichtet ist. Ich würde vorschlagen, eine virtuelle Maschine zu verwenden, aber das Profiling in einer VM scheint eine schlechte Idee zu sein - die Engpässe beim Ausführen unter einer VM sind möglicherweise nicht dieselben wie beim Ausführen auf einer physischen Maschine. Ich hoffe, Sie haben Root in Ihrem System. – George
Bekam es. Nachdem ich ein Dokument über oprofiler gelesen habe, verstehe ich, dass es einen Kernel braucht, um einen Hardware-Zähler zu sammeln, so dass das Programm schnell erstellt werden kann. Daher ist ein Root-Privileg erforderlich, um es zu konfigurieren. Es ist möglicherweise nicht einfach, Root-Zugriff zu erhalten, da ich eine öffentliche Maschine verwendet habe und die Profilerstellung die Leistung dieser Maschine beeinträchtigt. Also ich denke Valgrind ist vielleicht die beste Option ... – superb