Time Sampling Probleme mit gprof

Ich versuche, mit gprof einen C ++ - Code zu erstellen, der mit g ++ kompiliert wurde, einschließlich der Option -pg. Trotz der Tatsache, dass das Programm 10-15 Minuten benötigt, um auf meinem Computer (mit maximaler CPU-Auslastung) ausgeführt zu werden, sind die von gprof erzeugten Spalten für% Zeit, kumulierte Sekunden und Selbstsekunden der Tabelle vollständig 0,00! Die Spalte Anrufe enthält korrekt aussehende Daten, z. B. über 150.000 Aufrufe einer Grundfunktion. Hier ein paar der gesammelten Daten:

  %   cumulative   self              self     total           

 time   seconds   seconds    calls  Ts/call  Ts/call  name

  0.00      0.00     0.00   156012     0.00     0.00  perm::operator[](int) const

  0.00      0.00     0.00   153476     0.00     0.00  perm::perm(void)

Das Programm verwendet keine Strings und das einzige #include ist iostream (wird nur zur Ausgabe der endgültigen Antwort verwendet), daher kann es nicht langsam sein, da String-Finds und -Vergleiche oder ähnliche langsame externe Funktionen wie in dieser Frage vorgeschlagen vorliegen: Mit gprof kann keine Zeit angesammelt werden - der Gnu-Profiler

Das Programm selbst wird in Ordnung beendet und ich habe keinen Grund zu der Annahme, dass die Profildaten nicht korrekt geschrieben werden (wie hier vorgeschlagen:gprof meldet keine Zeit angesammelt)

Da dies alles in Windows 7 geschieht, ist der Versuch, Shark oder Valgrind zu verwenden, keine Option.

Gibt es einen Grund, warum für jede Funktion 0,00 ausgegeben werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage