Leistungsbewertung und Profiling

Wie heißt das Phänomen, dass ein zur Leistungsmessung eingebauter Mechanismus das Verhalten des zu messenden Programms selbst verändert?

  1. ACache-Kohärenz
  2. BProbe-Effekt (Beobachtereffekt)
  3. CPipeline-Verarbeitung
Antwort und Erläuterung anzeigen

Antwort: B. Probe-Effekt (Beobachtereffekt)

Verarbeitung zur Messung, etwa Log-Ausgabe, Einfügen von Code zur Zeitmessung oder Anhalten im Debugger, verbraucht selbst Zeit und Cache und ändert das Timing. Dadurch weicht das Messergebnis vom Verhalten ohne Messung ab, oder von Timing abhängige Fehler wie Data Races verschwinden nur während der Messung. Wichtig ist, Methoden mit geringem Einfluss wie Sampling oder Leistungszähler zu wählen und auch die Größe des Messeinflusses zu prüfen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Leistungsbewertung und Profiling

  1. Welches Vorgehen bei der Leistungsverbesserung eines Programms ist am zutreffendsten?
  2. Welche Verbesserung hat bei einem Programm zur Verarbeitung großer Datenmengen am ehesten das Potenzial für den größten Speedup?
  3. Was ist der Zweck, in der Softwareentwicklung bei jeder Änderung automatisch Benchmarks auszuführen und die Ergebnisse aufzuzeichnen?
  4. Benchmark-Messungen auf einem Notebook streuten bei demselben Programm jedes Mal stark. Welche Kombination aus möglicher Ursache auf CPU-Seite und Gegenmaßnahme ist richtig?
  5. Warum werden bei Leistungsmessungen in Multicore- oder NUMA-Systemen Threads mitunter an bestimmte Kerne gebunden (Affinität gesetzt)?