Leistungsbewertung und Profiling
Mit Leistungszählern wurde festgestellt, dass sehr viele Verzweigungen falsch vorhergesagt werden. Welche Verbesserungsmethode trifft zu?
- AWeitere Verzweigungen in die Schleife einfügen
- BDie Daten sortieren, damit Verzweigungsergebnisse leichter vorhersagbar werden, oder Verzweigungen durch bedingte Auswahl oder Berechnung ganz vermeiden
- CDie Cache-Kapazität verringern
Antwort und Erläuterung anzeigen
Antwort: B. Die Daten sortieren, damit Verzweigungsergebnisse leichter vorhersagbar werden, oder Verzweigungen durch bedingte Auswahl oder Berechnung ganz vermeiden
Bei falsch vorhergesagter Verzweigung verwirft die CPU die spekulativ ausgeführten Befehle und beginnt neu; dabei gehen jedes Mal einige zehn Zyklen oder mehr verloren. Bei zufälligen Daten ist das Ergebnis einer Verzweigung wie „wenn der Wert 128 oder mehr ist“ nicht vorhersagbar. Werden die Daten vorher sortiert, sind die Ergebnisse gleichförmig und die Vorhersage trifft eher, und mit bedingten Auswahlbefehlen oder Bitoperationen entfällt die Verzweigung selbst. Auch der Compiler kann zu solchen Umwandlungen angeregt werden.