Profiler gesucht, kostenlos, mit call tree



  • Hoi,

    ich muss für eine Studienarbeit mit einem fremden Framework arbeiten, dass ich an meine Bedürfnisse anpasse (es geht um einen Radiosity-Renderer). Ich muss außerdem mit möglichst wenig Aufwand (die Zeit wird langsam knapp) eine spürbar bessere Performance noch erzielen. Diesen Fremdcode performance-mäßig einzuschätzen fällt mir jetzt nicht gerade leicht und die Zeitmessungen im Code einzubauen kostet mich viel Zeit.

    Ich bräuchte einen kostenlosen Profiler für Windows, der zumindest eine call tree Funktionalität anbietet, damit ich auf Anhieb mal einen groben Überblick gewinne. Um zu verdeutlichen was ich damit meine, verlinke ich mal frech auf einen .Net-Profiler mit einer solchen Funktion: http://www.jetbrains.com/profiler/features/index.html (der erste Screenshot).

    Ich habe beispielsweise den AMD CodeAnalyst ausprobiert, aber der scheint eine solche Funktion nicht zu haben. Beispiel: Wenn ich aus dem Output nur rauslesen kann "Vec3f::Vec3f() verbratet am meisten Rechenzeit", dann hilft mir das herzlich wenig um herauszufinden, wo am Programm optimiert werden muss. Mit dieser Aussage kann ich zum Beispiel nicht zuordnen ob das Problem bei der Berechnung der Formfaktoren, der einzelnen Iterationen oder dem eigentlichen Rendern liegt, weil dort überall diese Vektoren verwendet werden.

    Kann mir jemand einen passenden Profiler empfehlen? Kostenlos wär gut, wenn es ne Trial gibt auch ok.



  • Valgrind ist dein Freund, mußt den Code dann halt nach Unix/Linux portieren.
    Eventuell hilft auch wine falls du Direct3d verwendet hast.

    Falls nicht, dann bist du selber schuld daß du dich auf Direct3d festgelegt hast und nicht OpenGL verwendet hast.
    Einen kostenlosen Profiler für Windows, der das kann was du suchst kenne ich nämlich nicht. Die guten kosten unter Windows alle Geld.



  • http://www.intel.com/cd/software/products/asmo-na/eng/239144.htm
    Ist zwar nicht kostenlos, aber man kann ihn glaubich 30 Tage ausprobieren.
    Macht so nen Callgraph
    http://www.adalta.it/Pages/420/vtune_win3.gif



  • Danke. Ich verwende jetzt AQTime, der mir vom GUI her noch ein bisschen sympathischer ist (wahrscheinlich weil einfacher und weniger Funktionen.).

    Kringes schrieb:

    Valgrind ist dein Freund, mußt den Code dann halt nach Unix/Linux portieren.
    Eventuell hilft auch wine falls du Direct3d verwendet hast.

    Falls nicht, dann bist du selber schuld daß du dich auf Direct3d festgelegt hast und nicht OpenGL verwendet hast.

    Warum nur habe ich gewusst, dass die erste Antwort "mach es doch unter Linux!" sein wird??

    Ich verwende OpenGL, das ist aber noch lange kein Grund, auf einem komischen OS zu entwickeln. Sieht deine Lösung dann genauso toll aus wie dieses Debugger-Frontend? http://www.gnu.org/software/ddd/settings.png Ne danke, ich möchte nicht während der Entwicklung kotzen müssen. :p



  • Wenn du siehst, dass eine funktion kritisch ist, dann solltest du sie inlinen. Dann sollte codeanalyst die funktion selbst nicht mehr anzeigen, sondern die stellen wo sie verwendet wird.



  • Optimizer schrieb:

    das ist aber noch lange kein Grund, auf einem komischen OS zu entwickeln.

    Machst du doch bereits. 😕

    Optimizer schrieb:

    Ich bräuchte einen kostenlosen Profiler für Windows



  • Optimizer schrieb:

    Sieht deine Lösung dann genauso toll aus wie dieses Debugger-Frontend? http://www.gnu.org/software/ddd/settings.png Ne danke, ich möchte nicht während der Entwicklung kotzen müssen.

    Wer beim Programmieren Wert auf eine Klicki-Buni-GUIs legt, ist keine echter Prgrammierer, sondern ein Script-Kiddie!



  • Bitte dieses Linuxgespamme löschen.



  • Bitte dieses Windowsgespamme löschen:

    Optimizer schrieb:

    Warum nur habe ich gewusst, dass die erste Antwort "mach es doch unter Linux!" sein wird??
    Ich verwende OpenGL, das ist aber noch lange kein Grund, auf einem komischen OS zu entwickeln. Sieht deine Lösung dann genauso toll aus wie dieses Debugger-Frontend? http://www.gnu.org/software/ddd/settings.png Ne danke, ich möchte nicht während der Entwicklung kotzen müssen. :p



  • Tjaja, wie man in den Wald ruft, so schallt es hinaus.
    Wenn der feine Herr Optimizer sich nicht so abfällig über Linux geäußert hätte, hätte auch keiner was gegen sein heiß geliebtes Windows gesagt.





  • Laut Google ist er eine Flasche.


Anmelden zum Antworten