Dein Code ist schnell – wenn du Glück hast
Your code is fast – if you're lucky
Ein Programmierer entdeckt beim Optimieren eines Quicksort, dass moderne Compiler wie Clang Schleifen nur dann in blitzschnelle, verzweigungsfreie Instruktionen verwandeln, wenn der Code im richtigen Stil geschrieben ist. Sein branchless Quicksort sortiert 50 Millionen Doubles in 4,39 Sekunden auf einem M1-Mac – während C++ std::sort dafür 1,33 Sekunden braucht. Eine kleine kosmetische Umstellung des Codes macht ihn sogar noch schneller.
Moderne Compiler (vor allem Clang) optimieren Schleifen mit schnellen, verzweigungsfreien Instruktionen – vorausgesetzt, man verwendet den richtigen Programmierstil.