Leistungsbewertung und Profiling

Was ist der Zweck, in der Softwareentwicklung bei jeder Änderung automatisch Benchmarks auszuführen und die Ergebnisse aufzuzeichnen?

  1. ADamit das Benchmark-Ergebnis jedes Mal denselben Wert hat
  2. BDamit die Funktionen des Programms automatisch zunehmen
  3. CDamit eine durch eine Änderung verschlechterte Leistung (Performance-Regression) früh bemerkt und die verursachende Änderung leichter bestimmt werden kann
Antwort und Erläuterung anzeigen

Antwort: C. Damit eine durch eine Änderung verschlechterte Leistung (Performance-Regression) früh bemerkt und die verursachende Änderung leichter bestimmt werden kann

Wenn sich kleine Änderungen anhäufen, kann die Leistung unbemerkt allmählich sinken. Werden bei jeder Änderung Benchmarks unter gleichen Bedingungen ausgeführt und aufgezeichnet, wird ein Leistungsabfall sofort bemerkt und die verursachende Änderung rasch gefunden. Wird er erst nach Monaten bemerkt, ist die Ursachensuche unter vielen Änderungen mühsam. Unter Berücksichtigung der Messstreuung ist zudem eine Vorkehrung nötig, nur bedeutsame Unterschiede zu melden.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Leistungsbewertung und Profiling

  1. 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?
  2. Warum werden bei Leistungsmessungen in Multicore- oder NUMA-Systemen Threads mitunter an bestimmte Kerne gebunden (Affinität gesetzt)?
  3. Was ist bei der Leistungsanalyse von GPU-Programmen zuerst zu prüfen?
  4. Welcher Gesichtspunkt gehört nicht zu dem, was bei der Auswahl von Servern im Rechenzentrum zusätzlich zur Spitzenleistung zu beachten ist?
  5. Was ist beim Bewerten der Behauptung „mit der neuen Methode 100-mal schneller“ am zutreffendsten zu prüfen?