I asked a question about reducing the miss prediction.

Jerry Coffin give me an impressive answer.

[About reducing the branch miss prediciton](https://stackoverflow.com/questions/11349221/about-reducing-the-branch-miss-prediciton)

The binary search is branchless, but when I use it in my set intersection algorithm, I found it much slower than the original binary search. What's the reason?

**Update:**

I use the following event to test number of branch miss prediction of i7 processor: BR\_MISS\_PRED\_RETIRED. I found the branchless version is about half of the branch miss than the original one. 

For cache miss: I use LLC\_MISSES to test the number of last level cache misses, also half. 

But the time is about 2.5 times than the original one.