profiling

___ answer217906 ___

Sie können Valgrind wahrscheinlich versuchen ( Ссылка ). Sie verfügen über Laufzeit- und Kompilierzeit-Profilerstellungs-Tools.

    
___ qstnhdr ___ Gibt es ein ähnliches Tool für Linux, das wie Shark unter Mac OS X funktioniert? ___ answer336149 ___

OProfile ist ein Tool, das auf Stichproben basierende Profilerstellung für Ihre Anwendung und das System durchführt ruft es macht. Dies ermöglicht es, detaillierte Informationen darüber zu sehen, wo es Zeit benötigt. Es hat keine GUI, aber es gibt mehrere Front-Ends, mit denen Sie die Informationen aus den Läufen verarbeiten können.

Ich habe es ausgiebig genutzt, sowohl für Desktop-Anwendungen als auch für Embedded-Systeme. Es braucht ein wenig Aufwand, um die Ergebnisse zu interpretieren, aber die Callgraph-Ausgabe ist hier wirklich nützlich.

    
___ answer334829 ___

Erweitere eine andere Antwort, ich benutze die "callgrind" -Option von valgrind ( Ссылка ). Dann installiere kcachegrind von KDE für eine nette GUI-Schnittstelle.

Als Tutorial für Dummies:

1) Kompilieren Sie Ihre Anwendung mit Debugging-Informationen. Es ist eine gute Idee, das Profiling mit Optimierung sowohl ein- als auch auszuschalten, mit optimierter Optimierung erhalten Sie mehr Informationen, aber es ist möglicherweise weniger genau (insbesondere winzige Funktionen werden mehr Zeit in Anspruch nehmen, als sie verdienen.

2) Führen Sie mit:

%Vor%

Dies sollte eine Datei namens "callgrind.something" erzeugen, die Sie in kcachegrind laden können.

Sie können auch sehen:

valgrind --tool = cachegrind

Hier erhalten Sie Informationen darüber, wie Ihre App mit dem Cache Ihrer CPU interagiert.

Beachten Sie, dass Valgrind und Hai zwar ähnlich aussehen, aber sehr unterschiedlich funktionieren. Wenn Sie eine App in Valgrind ausführen, läuft sie viel langsamer als normal (oft über 40 mal langsamer), aber die Ergebnisse, die Sie erhalten, sind viel genauer als die von Hai. Ich neige dazu, beide zu verwenden, damit ich so viele Informationen wie möglich erhalten kann!

    
___ qstntxt ___

Shark auf Mac OS X ist ein großartiges Tool zum Profiling einer Anwendung auf einem laufenden System. Gibt es ähnliche Tools für Linux?

OProfile sieht so aus, als könnte es sein, jemand hat es benutzt?

    
___ answer4375693 ___

Etwas spät, um diese Frage zu beantworten, aber die nächste Antwort ist Zoom . Ein Teil des Shark-Teams hat daran gearbeitet.

    
___ tag123Profiling ___ Profiling ist der Prozess zum Messen einer Anwendung oder eines Systems, indem ein Analysetool namens Profiler ausgeführt wird. Profiling-Tools können sich auf viele Aspekte konzentrieren: Aufrufzeiten und Anzahl der Funktionen, Speicherauslastung, CPU-Auslastung und Ressourcenverbrauch. ___ tag123linux ___ LINUX FRAGEN MÜSSEN PROGRAMMIEREN VERWANDT SEIN. Verwenden Sie dieses Tag nur, wenn sich Ihre Frage auf das Programmieren mit Linux-APIs oder das Linux-spezifische Verhalten bezieht, nicht nur, weil Sie Ihren Code unter Linux ausführen. Wenn Sie Linux-Unterstützung benötigen, können Sie https://unix.stackexchange.com oder https://askubuntu.com ausprobieren ___ tag123oprofile ___ OProfile ist ein Profiling-System für Systeme mit Linux 2.2, 2.4 und 2.6. Profiling läuft transparent im Hintergrund und Profildaten können jederzeit gesammelt werden. OProfile verwendet die auf Intel-, AMD- und anderen Prozessoren bereitgestellten Hardware-Leistungsindikatoren und verwendet einen zeitgeberunterbrechungsbasierten Mechanismus für CPUs ohne Leistungsindikatoren. OProfile kann das gesamte System detailliert darstellen. ___ tag123profiler ___ Ein Profiler ist ein Programmiertool, um die Leistung eines Softwareprogramms zu verfolgen und zu analysieren. ___
4
Antworten

Wie profiliere ich Programm auf Linux-Plattform, ohne es neu zu erstellen?

Ich habe zwei Profiling-Tools (VTune auf Windows und dbx (innerhalb von Sunstudio) auf Solaris) verwendet, die Programme programmieren können, ohne sie neu zu erstellen, und während des Profiling läuft das Programm nur mit der gleichen Geschwind...
05.03.2010, 02:33
1
Antwort

Instruction Level Profiling: Die Bedeutung des Anweisungszeigers?

Was bedeutet die Position des Befehlszeigers beim Profilieren von Code auf der Ebene der Assembly-Anweisung wirklich, da moderne CPUs Befehle nicht seriell oder in Reihenfolge ausführen? Angenommen, der folgende x64-Assembly-Code lautet: %Vor%...
09.06.2013, 13:35
3
Antworten

Wie kann ich in 1.9.2 Ruby-Code profilieren?

Was kann ich verwenden, um Code in 1.9.2 zu profilieren? Alle Versionen von Ruby-prof Ich habe segfault gegen 1.9.2 gefunden. Zum Beispiel, wenn ich hinzufüge %Vor% zum Gemfile meines Rails-Projekts und führen %Vor% Ich bekomme einen...
08.03.2011, 21:50
5
Antworten

Mit welchen Tools kann ich die Hardwareanforderungen meiner Anwendung ermitteln?

Für regelmäßige Leser: Die saga ™ fährt fort ... Meine App läuft gut auf meiner Entwicklungsmaschine, die vor fünf Jahren als ziemlich gutes Gaming-Rig gekauft wurde. Als solches ist es 64bit, hat eine Taktfrequenz von 2,2 GHz und hat 2 GB...
12.07.2010, 10:45
1
Antwort

(Visual) Profiling mit Eclipse CDT

Gibt es ein etabliertes Standard-Plugin / Methode für das visuelle Profiling mit Eclipse CDT? Mit Visual heißt ich, dass ich meine Programme nicht manuell aufrufen muss und eine ansprechende visuelle Ausgabe der Profilergebnise mit Messgeräten e...
12.12.2011, 10:01
1
Antwort

Performance Profiling von OpenGL Shadern

Gibt es ein Tool, das Performance-Profiling von OpenGL-Shadern durchführen kann?     
18.11.2010, 04:37
1
Antwort

Verwendung des Speicherprofil-Browsers von Heapy mit Twisted.web

Ich versuche, twisted python code mit Heapy zu profilieren. Zum Beispiel (Pseudocode): %Vor% Was muss ich tun, um die Ergebnisse des Heapy-Profils im Profilbrowser anzuzeigen?     
25.08.2009, 23:22
2
Antworten

Hardware-Leistungsindikator-APIs für Windows

Ich würde gerne Hardware-Leistungsindikator verwenden, speziell x86-CPUs, um Cache-Misses oder Verzweigungsfehlvorhersage zu erhalten. Leistungsindikatoren werden in fortgeschrittenen Profilern wie Intel VTune stark verwendet. Bitte seien Sie...
06.01.2012, 21:17
2
Antworten

Gibt es Tools, um große Java-Heap-Dumps zu analysieren, ohne die komplette hprof-Datei zu laden?

Ich benutze Eclipse MAT, um hprof-Dateien zu analysieren. Es ist sehr gut, aber wenn Sie einen 2Gb-Heap-Dump haben, dann müssen Sie MAT mit einer 2Gb + Heap-Größe selbst ausführen, um den kompletten Heap-Dump laden zu können. Ich frage mich,...
25.11.2009, 09:44
2
Antworten

Wie verknüpfe ich JVisualVM automatisch mit einem kurzlebigen Programm?

Kurzes Lesen von Tutorials und Spielen mit JVisualVM, ich kann es manuell an einen lang laufenden Server oder eine Swing-Anwendung anhängen, aber ich möchte es auch für kurze Programme verwenden, die in weniger als einer Sekunde laufen. Ich n...
05.03.2011, 00:29