Branchless Rust: Filter ohne if ist 4x schneller
Branchless Rust: Making a Filter 4x Faster by Removing an If

Serhii Potapov zeigt, wie ein einfacher Filter in Rust durch Branchless Programming bis zu 4x schneller wird. Der Trick: Statt einer unvorhersehbaren Verzweigung wird das Ergebnis des Vergleichs als Zahl genutzt, um den Schreibcursor zu verschieben. Dadurch werden teure Pipeline-Flushes vermieden, die bei zufälligen Daten und 50% Trefferquote die Laufzeit dominieren. Der Artikel erklärt die CPU-Mechanismen hinter Branch Prediction und wann sich diese Technik lohnt.
Ein falsch vorhergesagter Branch ist teuer: Die CPU muss alles verwerfen, was sie spekulativ begonnen hat, die Pipeline leeren und am Scheideweg neu starten – auf einem modernen x86-Kern kostet das etwa 15–20 Zyklen.