Frage

Shark auf Mac OS X ist ein großartiges Werkzeug zum Profilieren eine Anwendung auf einem Laufsystem. Gibt es ähnliche Tools für Linux?

OProfile sieht aus wie es sein könnte, jemand es verwendet?

War es hilfreich?

Lösung

OProfile ist ein Werkzeug, das Sampling-basierte tut Profilierung sowohl Ihre Anwendung und das System ruft es macht. Dies ermöglicht zu sehen, detaillierte Informationen darüber, wo es viel Zeit. Sie stellen keine GUI haben, aber es gibt mehr Front-Ends, die Sie die Informationen aus den Läufen verarbeiten lassen.

Ich habe es ausgiebig, sowohl für Desktop-Anwendungen und für eingebettete Systeme verwendet. Es dauert ein wenig Mühe, um die Ergebnisse zu interpretieren, aber der Ausgang ist wirklich callgraph hier nützlich.

Andere Tipps

Erweiterung eine andere Antwort, ich benutze den 'Callgrind' Option von valgrind ( http://valgrind.org ). Dann installieren Sie kcachegrind von KDE für eine nette GUI-Schnittstelle.

als Tutorial Attrappe, tun:

1) Kompilieren Sie Ihre Anwendung mit Debug-Informationen. Es ist eine gute Idee, mit der Optimierung, um zu versuchen Profilierung auf und ab, mit der Optimierung off Sie weitere Informationen erhalten werden, aber es kann weniger genau sein (insbesondere kleine Funktionen scheinen mehr Zeit zu nehmen, als sie verdienen.

2) Führen Sie mit:

valgrind --tool=callgrind <name of your app> <your app's options>

Dies sollte eine Datei erzeugt genannte ‚callgrind.something‘, die Sie in kcachegrind laden können.

Sie können auch sehen:

valgrind --tool=cachegrind <name of your app> <your app's options>

Welche gibt es Informationen geben, wie Sie Ihre App mit Ihrer CPU-Cache interagiert.

Beachten Sie, dass während valgrind und Hai wie ähnliche Anwendungen scheinen, sie sind sehr unterschiedlich arbeiten. Wenn Sie eine App in valgrind läuft es oft langsamer als normal (oft mehr als 40-mal langsamer), aber die Ergebnisse, die Sie erhalten, sind viel genauer als Haifisch laufen. Ich neige dazu, beide zu verwenden, so kann ich so viele Informationen wie möglich erhalten!

Sie können sich wahrscheinlich versuchen Valgrind ( http://valgrind.org/ ). Sie haben sowohl Laufzeit- und Kompilierung Tools Profilierungs.

Ein bisschen spät, diese zu beantworten, aber die nächste Antwort ist Zoom . Einige der Shark Team daran gearbeitet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top