C++ cache locality and branch predictability
3-Second Blueprint (English)
- O(N^2) insertion sort beats O(N log N) quicksort and mergesort on 16-element vectors due to tight loops and low cache overhead.
- Random-order vector traversal suffers a steep latency cliff past the 8 MB L3 cache boundary where hardware prefetching fails.
- Branch mispredictions peak at 50% condition probability, stalling out-of-order CPU pipelines unless compilers emit branchless code.
Google BenchmarkCPU L3 Cache LocalityHardware Branch PredictorBranchless Optimization
3-Sekunden-Fazit (Deutsch)
- O(N^2) Insertion Sort schlägt O(N log N) Quicksort bei 16 Elementen dank geringem Overhead und direkter Cache-Lokalität.
- Zufällige Speicherzugriffe zeigen jenseits der 8-MB-L3-Cache-Grenze einen starken Latenzsprung, da Prefetching versagt.
- Sprungvorhersagefehler gipfeln bei 50 % Wahrscheinlichkeit und bremsen Out-of-Order-CPUs, sofern kein Branchless-Code entsteht.
Google BenchmarkCPU-L3-Cache-LokalitätSprungvorhersageBranchless-Optimierung
Note / Hinweis: Blueprints are AI-generated educational summaries (0% Politics · 0% Religion · 0% Brainrot) and do not constitute medical, legal, or financial advice. / KI-generierte Zusammenfassung zu Bildungszwecken – ersetzt keine medizinische, rechtliche oder finanzielle Fachberatung.