Pretty interesting that a branchless linear search would be faster than a branching binary search! It makes sense, it just goes against the normal intuition. Just goes to show that benchmarking is always important
The compiler evaluating both results and chosing the right one using a cmov, rather than using a branch to evaluate just one result was not what I would have expected. My how times have changed.