Profiling



  • Ich habe ein C++ Programm, bei dem in einer Funktion recht viele if-Bedingungen ausgewertet werden, bevor Unter-Routinen aufgerufen werden. In etwa so:

    void function(int i)
    {
      if (i == 0)
        f_i_0();
      else if (i < 100)
        f_i_100();
      else if
        ...
      else
        f_any();
    

    Was mich nun interessiert, ist wie viel Zeit mit der Auswertung der if-Bedingungen verbracht wird.
    Wie kann ich das messen?
    Bisher habe ich den gprof mit der Option -l versucht, aber dann zeigt er mir nur die f_i_xxx-Funktionsaufrufe an, sowie function selbst.



  • Mit einem Profiling tool wie z.b.: http://gpuopen.com/compute-product/codexl/


Log in to reply