Profiling framework



  • Hallo,

    ich suche für unser größeres C++ Programm eine Möglichkeit dies zu instrumentieren und mehr informationen über das Laufzeitverhalten zu bekommen.

    Damit meine ich keinen klassischen Profiler, ich bin also nicht an Cache- oder Speicher-Zugriffen und CPU Interna interessiert, sondern mir geht es darum Engpässe (Bottlenecks) aufzuspüren. Mal so als Pseudocode Idee (inspiriert von petsc):

    event = StartEvent("A");
    // mache hier ein wenig was
    MPI_Send(...)
    event["MPI"] += 1;
    event.stop();
    

    Und am Ende sagt mir mein Programm wieviel gesamte, prozentuale Laufzeit im Event A verbracht wurde. Zusätzlich hat man die Möglichkeit weitere Informationen, z.B. Anzahl der MPI-Calls hinzuzufügen und entsprechendes für diese anzuzeigen.

    Was fällt euch da ein?

    Viele Grüße!



  • Anscheinend verstehst Du unter klassischem Profiler etwas anderes als ich.
    Alle Profiler die ich kenne machen genau das was Du haben möchtest.


  • Mod

    MichelRT schrieb:

    Anscheinend verstehst Du unter klassischem Profiler etwas anderes als ich.
    Alle Profiler die ich kenne machen genau das was Du haben möchtest.

    Kommt drauf an, wann und wie man programmieren gelernt hat. Wenn man nur diese neumodischen Performancetools kennt, die es in letzter Zeit ueberall gibt, dann hat man von gprof (*hint*hint*) und Konsorten vielleicht nie gehoert.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • gprof wie gesagt.
    GCC hat Support dafür und fügt den Profiling-Code direkt in den generierten Code ein.
    Ergo ist der Slowdown minimal.


Anmelden zum Antworten