Ein „nutzloser" if-Befehl vervierfacht die Leistung eines Kompressors

Quadrupling code performance with a "useless" if

Beim Optimieren eines domänenspezifischen Kompressors stieß der Autor auf eine scheinbar triviale Schleife, die durch eine Speicherabhängigkeit ausgebremst wurde. Eine unkonventionelle Lösung: ein if, das der Compiler für überflüssig hält, aber die Hardware dazu bringt, die Abhängigkeit zu umgehen. Mit einem volatile-Cast wird die Optimierung des Compilers umgangen, was die Laufzeit im Benchmark von 320 µs auf 80 µs senkt – ein 4-facher Gewinn, der sich bei vielen Durchläufen summiert.

Stupid compiler doesn't realize integers have hardware provenance.

Mehr von diesem Tag

2026-07-13