Auswirkungen der Compileroptimierung auf speichergebundenen Code: -O3 ist nicht immer der König
2025-06-01
Eine Untersuchung von Johnny's Software Lab zeigt, dass die Vorteile von Compileroptimierungen (wie -O3 von GCC) bei speichergebundenem Code nicht immer signifikant sind. Sie testeten zwei Kernels: einen mit hohem Instruction-Level-Parallelismus (ILP), einen mit niedrigem ILP. Die Ergebnisse zeigten eine 3-fache Beschleunigung für den Kernel mit hohem ILP mit -O3. Für den Kernel mit niedrigem ILP brachte die Optimierung jedoch nur minimale Verbesserungen, da der Speicherzugriff zum Engpass wurde. Dies zeigt, dass in stark speichergebundenen Szenarien selbst bei weniger Instruktionen die Leistungsverbesserungen durch den niedrigen ILP begrenzt sind und optimierungsstrategien an die Codeeigenschaften angepasst werden müssen.