Tu código es rápido, si tienes suerte: el compilador decide
Your code is fast – if you're lucky
Un desarrollador descubre que el rendimiento de su Quicksort optimizado depende en gran medida del estilo de programación: los compiladores modernos como Clang generan código sin bifurcaciones solo si escribes de cierta manera. Al reescribir el código en un estilo más idiomático, el rendimiento mejora drásticamente, pasando de 4.39 segundos a 1.33 segundos en una Mac M1, igualando a std::sort.
Los compiladores modernos (especialmente Clang) optimizan los bucles con instrucciones rápidas y sin bifurcaciones, siempre que utilices el estilo de programación adecuado.