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. ___
1
Antwort

JVM-Speicher: Warum Speicher auf Task-Manager-Unterschied mit JProbe (oder JConsole-Tool)

Das Problem, dem ich gegenüberstand, ist, dass der verwendete Speicher meiner Anwendung nur 100 MB beträgt, danach hat sie 50 MB abgenommen, aber im Window Task Manager hat sie 150 MB angezeigt und immer beibehalten oder erhöht, aber nicht verri...
18.08.2012, 09:24
1
Antwort

C ++ Vektormatrix-Operator hohe Rechenkosten?

Ich habe immer gewusst, dass die reichen Abstraktionen von C ++ mit einem gewissen Rechenaufwand verbunden sind, aber ich hatte den Eindruck, dass dieser Overhead nahezu vernachlässigbar wäre, sobald die korrekten Compileroptimierungen angewende...
05.11.2012, 18:34
8
Antworten

Der beste Weg, um die Code-Geschwindigkeit in C ++ ohne Profiler zu testen, oder macht es keinen Sinn zu versuchen?

Bei SO gibt es eine ganze Reihe von Fragen zum Leistungsprofil, aber ich finde nicht das ganze Bild. Es gibt einige Probleme und die meisten Q & amp; A ignorieren alle außer ein paar auf einmal oder rechtfertigen ihre Vorschläge nicht. Worübe...
27.06.2010, 17:01
4
Antworten

Wie kann ich den Speicher des Multithread-Programms in Python profilieren?

Gibt es eine Möglichkeit, den Speicher eines Multithread-Programms in Python zu profilieren? Für CPU-Profiling verwende ich das cProfile, um separate Profiler-Statistiken für jeden Thread zu erstellen und sie später zu kombinieren. Ich habe j...
25.01.2011, 21:41
1
Antwort

Android-Entwickler-Seite: Verstehen des TraceView-Profiling-Beispiels

Ich schaue auf diese Seite: Profiling mit Traceview und dmtracedump > Unter "Profilfeld" hat es den folgenden Text, der sich auf das Musterprofilergebnis unterhalb des Textes bezieht:    Die letzte Spalte in der Tabelle zeigt die Anzahl...
22.02.2012, 15:24
2
Antworten

Wie kann ich das Booten einer Rails-Anwendung profilieren?

Einfaches Problem, ich habe eine ältere Rails 2.3-Anwendung und es dauert ziemlich lange, etwas zu tun. rake benötigt 25 Sekunden, aber es sieht nicht so aus, als würde wirklich etwas passieren. Gibt es einen einfachen Weg, wie ich einen...
23.12.2011, 09:52
4
Antworten

Welches ist das endgültige Profiling-Tool für Eclipse 3.7?

Ich habe gerade angefangen, Eclipse 3.7 zu verwenden. Zuvor habe ich mit Eclipse 3.6 ein Tool namens TPTP für das Profilieren der Ausführungszeit verwendet (es könnte noch viel mehr machen, aber das ist alles, wofür ich es brauchte). Ich stel...
31.08.2011, 09:21
1
Antwort

callgrind langsam mit deaktivierter Instrumentierung

Ich benutze Callgrind, um eine Linux Multithread App zu profilieren und meistens funktioniert es großartig. Ich beginne es mit Instrumentierung aus ( - instr-atstart = no ) und dann, wenn die Einrichtung abgeschlossen ist, schalte ich es mit ca...
27.01.2012, 19:30
1
Antwort

Profil Generate vs PG

Kann mir jemand den Unterschied zwischen den Optionen profile-generate und pg erklären?     
21.09.2012, 12:25
4
Antworten

Sellerie - minimieren Speicherverbrauch

Wir haben ~ 300 selleryd-Prozesse, die unter Ubuntu 10.4 64-bit laufen, im Leerlauf dauert jeder Prozess ~ 19mb RES, ~ 174mb VIRT, also - es sind etwa 6GB RAM im Leerlauf für alle Prozesse. Im aktiven Zustand - Prozess dauert bis zu 100 MB RES u...
03.12.2010, 14:08