Dev & Code 12 h agoZu Lesezeichen hinzufügen

Ein Artikel aus dem Jahr 2024, der heute wieder an die Spitze von Hacker News gekommen ist, zeigt, wie ein besser durchdachtes Speicherlayout eine statische Struktur 40-mal schneller macht als eine binäre Suche. Die eigentliche Lehre ist nicht die Zahl - es ist das Denken dahinter.
Konkreter Fall: Sie müssen einen Schlüssel in einem sortierten Array mit 100 Millionen Einträgen suchen. Ihr erster Reflex, den Sie in der Schule gelernt haben, ist die Binärsuche - log₂(n) ≈ 27 Vergleiche. Theoretisch optimal.
Aber... im Jahr 2026, auf einem modernen CPU, ist die Binärsuche katastrophal. Warum? Weil jeder Vergleich ein Feld liest, dessen Adresse vom vorherigen Ergebnis abhängt. Der Prozessor kann weder vorhersagen, noch vorladen, noch pipelinen. Bei jedem Schritt wartet er auf den Cache-Miss (etwa 100 CPU-Zyklen, also ~30 ns bei neuem DDR5).
Der Artikel « Static search trees: 40x faster than binary search » (2024, heute auf HN neu veröffentlicht) geht genau auf dieses Problem ein. Die vorgeschlagene Lösung ist ein statischer B-Baum - kein dynamischer B-Baum aus dem Datenbankhandbuch, sondern eine für die CPU optimierte Version:
__builtin_prefetch) des wahrscheinlichsten Kindknotens.Gemessenes Ergebnis im Artikel: Bei 100 Millionen Einträgen sinkt die Suche von etwa 150 ns auf 4 ns. Das ist 40-mal schneller.
Die Lehre ist nicht « die Binärsuche ist tot ». Es ist, dass die klassische algorithmische Komplexität (O log n) den Cache-Speicher ignoriert. Auf einem modernen CPU gewinnt die Struktur, die die Cache-Misses minimiert, fast immer gegen diejenige, die die Vergleiche minimiert.
Weitere Beispiele, die wir in unseren Projekten sehen:
flat_hash_map) vs. klassische std::HashMap.slice::sort_unstable) vs. Quicksort aus der Schule.static-search-tree oder ein Äquivalent für ein produktives Beispiel.Wenn Sie eine Hot-Loop optimieren, ist Ihr erster Profiler nicht cachegrind - es ist perf stat -e cache-misses,cache-references unter Linux (oder Instruments auf macOS). Dort wird die echte Leistung in 2026 gemacht. Die Komplexitätstheorie sagt Ihnen, was möglich ist; der Cache-Speicher sagt Ihnen, was erreichbar ist.
Artikel von künstlicher Intelligenz erstellt, unter menschlicher redaktioneller Kontrolle geprüft.