Seite 1 von 1

Profiling Tools

Verfasst: 09.06.2021, 12:44
von Matthias Gubisch
Hallo zusammen

ich wollte mal Fragen was ihr so an Tools zum Profilen nutzt.
Es gab hier schon mal einen Thread dazu, allerdings von 2009 da wollte ich jetzt nicht den Totengräber spielen, von daher neuer Thread.

Bisher habe ich Tracy benutzt https://github.com/wolfpld/tracy. Funktioniert ganz gut, auch wenn er an der ein oder anderen Stelle etwas sperrig ist.
Leider ist das eine der 3rdParty Sachen die aktuell mit C++ Modules im Konflikt steht.

Deshalb bin ich am überlegen mir einen alternative zu suchen.

Wichtig ware:
Per Frame CPU Profling (Threads, Callstacks, Hotspots usw.)
Multithreading fähig (was läuft wann auf welchem Thread...)
Per Frame Memory Profiling (eigentlich mehr eine Überwachung da ich versuche new und delete im Frame zu vermeiden)
+ Lock Checker
+ GPU Profiling


Ich habe mir mal https://github.com/bombomby/optick als alternative angesehen, hier fehlt mir allerdings das Memory Profiling und der Lock Checker (beides hat Tracy) ansonsten sieht der recht vielversprechend aus.

Vielleicht hat von euch ja schon einer Erfahrungen mit einem der Tools gemacht oder sonst einen Tipp für ein gutes Tool.

Re: Profiling Tools

Verfasst: 09.06.2021, 13:01
von Schrompf
Ich nehm nur den Builtin Visual Studio Profiler. Der sampled zwar nur, aber ist halt builtin und hat für meine Zwecke bisher immer gereicht. Auf Arbeit nehm ich den Intel VTune, der ist hardcore mit Support für OS-Primitives und allem, und kann hardware-samplen, falls Du nen Intel eingebaut hast. Davon gibt's angeblich auch ne Personal Version, aber ist halt ne riesig fette Corporate Bullshit-Schicht drauf mit Lizenzserver, Zwangsaccount und allem.

Über Optick hab ich viel Gutes gehört, aber noch nie selbst verwendet. Sonst hab ich vor Ewigkeiten noch VerySleepy genommen, was halt ein Winz-Tool ist, was Nix von alledem kann, was Du an Sonderwünschen hast.

Re: Profiling Tools

Verfasst: 09.06.2021, 18:39
von smurfer
Ich wollte immer mal coz ausprobieren, bin nur leider nie so richtig dazu gekommen.

Re: Profiling Tools

Verfasst: 10.06.2021, 13:58
von Matthias Gubisch
Der Ansatz von coz klingt ganz interessant.
Leider für mich nicht brauchbar da ich auf Windows unterwegs bin, aber ich behalte es mal für das nächste Linux Projekt im Hinterkopf.

Re: Profiling Tools

Verfasst: 13.06.2021, 20:26
von Lord Delvin
Ich in den letzten zehn Jahren alles mit valgrind gemacht. Würde für dich vermutlich WSL bedeuten.

Re: Profiling Tools

Verfasst: 16.06.2021, 06:20
von Matthias Gubisch
valgrind nutze ich in der Arbeit viel, leider gibts das nicht für Windows, ich müsste mal Testen ob meine App mit WSL läuft.

Aber auch dann zeigt es mir glaube ich nicht alles, ich wuerde gerne wissen wie die Auslastung der Cores/Threads ist, und da ist Tracy oder Optick um einiges besser ;)
Wenn es die Möglichkeit gibt dann kenne ich sie noch nicht und bin für hinweise dankbar ;)

Re: Profiling Tools

Verfasst: 16.06.2021, 16:20
von Lord Delvin
Ich glaube da gibt's auch Intel-Tools; mir ist aber nicht klar, ob die gratis sind. Hab in der Richtung lange keine Probleme mehr gehabt. OpenMP hatte da glaube ich auch schon ewig eine Selbstdiagnose.
Da musst du aber auch immer extrem aufpassen, ob die Messergebnisse zum nichtgemessenen Verhalten passen.