Leistungsbewertung und Profiling

Welche Aussage zu Profilern nach dem Instrumentierungsverfahren, bei dem Code zur Zeitmessung am Eingang und Ausgang von Funktionen eingefügt wird, ist richtig?

  1. ADie Aufzeichnung benötigt überhaupt keine Zeit
  2. BAufrufzahlen u. Ä. werden genau erfasst, doch die Aufzeichnung selbst kostet Zeit und kann besonders bei Programmen mit vielen kleinen Funktionen das Ergebnis verzerren
  3. CFunktionseingang und -ausgang existieren in keinem Programm
Antwort und Erläuterung anzeigen

Antwort: B. Aufrufzahlen u. Ä. werden genau erfasst, doch die Aufzeichnung selbst kostet Zeit und kann besonders bei Programmen mit vielen kleinen Funktionen das Ergebnis verzerren

Beim Instrumentierungsverfahren werden alle Funktionsaufrufe aufgezeichnet, sodass Anzahl und Aufrufbeziehungen lückenlos und genau bekannt sind. Da die Verarbeitung zur Aufzeichnung bei jedem Funktionsaufruf hinzukommt, kann bei Programmen, die sehr viele kleine Funktionen aufrufen, die Aufzeichnungszeit die eigentliche Verarbeitungszeit übersteigen. Deshalb werden Zeitanteile mit dem Sampling-Verfahren und genaue Anzahlen mit dem Instrumentierungsverfahren ermittelt.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Leistungsbewertung und Profiling

  1. Welche Beschreibung eines Hotspots in der Leistungsanalyse von Programmen ist richtig?
  2. Wie ist ein Flame Graph zur Darstellung von Profilergebnissen zu lesen?
  3. Was ist ein Beispiel für Größen, die mit den in die CPU integrierten Leistungszählern (PMU) gezählt werden können?
  4. Die Messung mit Leistungszählern ergab für ein Programm ein sehr niedriges IPC (Befehle pro Zyklus) von 0,3 und viele Fehlzugriffe im letzten Cache-Level. Welche Kombination aus wahrscheinlichster Situation und Gegenmaßnahme ist richtig?
  5. Mit Leistungszählern wurde festgestellt, dass sehr viele Verzweigungen falsch vorhergesagt werden. Welche Verbesserungsmethode trifft zu?