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. ___
2
Antworten

Kann / kann Valgrind mehrere Prozessoren verwenden?

Gibt es eine Möglichkeit, Valgrind mehrere Prozessoren zu verwenden? Ich führe eine Engpass-Profilerstellung mit Valgrinds Callgrind durch und bemerke ein signifikant unterschiedliches Ressourcennutzungsverhalten in meiner Anwendung, verglich...
23.03.2011, 18:39
4
Antworten

Wie verfolgen Sie alle Anfragen, die vom App Server an die Oracle DB gesendet werden? [Duplikat]

Ich benutze JDBC, um mit Oracle zu sprechen. Gibt es irgendwelche Möglichkeiten oder externe Tools, mit denen ich alle SQL-Abfragen verfolgen kann, die während einer Sitzung vom App-Server an den Oracle DB-Server gesendet wurden? Dies sollte...
25.11.2011, 05:48
2
Antworten

Wie können Speicherverluste in Windows Store-Apps behoben werden?

Ich habe also eine .NET Windows Store App, die Speicher verliert. Was kann ich tun? Die Profiler-Tools, die ich für Desktop-Apps von jetBrains oder Red-Gate / ANTS verwendet habe, unterstützen Metro Apps nicht (oder jetzt?)     
05.12.2012, 19:00
1
Antwort

Performance Testing vs Profiling

Ich arbeite mit vielen Java / Jsp-Anwendungen mittlerer Komplexität und frage mich, was wäre ein zusätzlicher Vorteil von Leistungstests mit say Jmeter über Profiling mit Jprofiler / Netbeans Profiler. Würde es sehr zu schätzen wissen, wenn jema...
08.02.2012, 04:41
3
Antworten

Wie kann die Speicherbandbreitennutzung unter Windows gemessen werden?

Ich habe ein Programm mit vielen Threads, aber ich glaube, es ist nicht in der Lage, über mehrere Cores hinweg gut zu skalieren, da es bereits die gesamte Speicherbandbreite sättigt. Gibt es ein Tool, mit dem man messen kann, wie viel Speiche...
02.08.2010, 08:10
5
Antworten

Gute Speicherprofilierung, Lecksuche und Fehlererkennung für Windows

Ich bin derzeit auf der Suche nach einem guten Speicher / Lecksuche-Tool für Windows. Vor ein paar Jahren habe ich Numegas Boundschecker benutzt, was sehr gut war. Genau jetzt scheint es gewesen zu sein an Compuware verkauft, das es anscheinend...
05.06.2009, 17:55
1
Antwort

"Es ist nicht möglich, 32-Bit- und 64-Bit-Anwendungen gleichzeitig zu profilieren" -Fehler

Ich starte einen Leistungsprofiler für ein ASP.NET MVC 3-Projekt in Visual Studio 2012 mit "Analyse" - & gt; "Launch Performance Wizard ..." und dort "Instrumentation" auswählen und mein Projekt auswählen (weil ich das Timing messen und den läng...
28.10.2013, 08:20
1
Antwort

Was ist der Unterschied zwischen Zeit und Zeit (CPU) in VisualVM?

Ich habe VisualVM verwendet, um herauszufinden, wo die gesamte Zeit für einen bestimmten Anruf verbracht wurde. Ich fand, dass die meiste Zeit in einem Datenbankanruf war, aber der profier zeigt, dass 85% der Zeit java.lang.Object und nur 15% im...
30.03.2011, 19:34
2
Antworten

Python Profiling - Was sind die Spalten in der Ausgabe von runnsnakerun?

Das mag wirklich offensichtlich sein, aber ich wollte nur sicherstellen, dass ich verstehe, was die Spalten in runnsnakerun sind. Name, Anrufe, RCalls, Lokal, / Anruf, Cum, / Anruf, Datei, Leitung, Verzeichnis Hier sind einige, die ich gla...
02.05.2014, 02:46
3
Antworten

Unnötige Zuordnungen mit Julia Update-Operatoren

Betrachten Sie die folgende Funktion: %Vor% Wenn ich es ausführe, bekomme ich Folgendes: %Vor% Warum wird so viel Speicher zugewiesen und so viel Zeit für die Speicherbereinigung aufgewendet? Der Code sollte type stable sein, und ich wür...
26.11.2014, 16:57