RamakrishnaChilaka opened a new pull request, #15179:
URL: https://github.com/apache/lucene/pull/15179

   ### Description
   Optimise `findNextGEQ` by making it branchless. Its interesting that doing 
more work is cheaper than a branch :).
   
   ### Benchmark numbers on Intel i5-13600K
   ```
   
   contender:
   Benchmark                                        Mode  Cnt     Score   Error 
  Units
   AdvanceBenchmark.binarySearch                   thrpt   15   238.033 ±  
1.040  ops/ms
   AdvanceBenchmark.inlinedBranchlessBinarySearch  thrpt   15   418.057 ±  
6.955  ops/ms
   AdvanceBenchmark.linearSearch                   thrpt   15   436.043 ±  
2.872  ops/ms
   AdvanceBenchmark.vectorUtilSearch               thrpt   15  1808.240 ± 
14.667  ops/ms
   
   
   baseline
   Benchmark                                        Mode  Cnt    Score   Error  
 Units
   AdvanceBenchmark.binarySearch                   thrpt   15  237.473 ± 1.409  
ops/ms
   AdvanceBenchmark.inlinedBranchlessBinarySearch  thrpt   15  425.485 ± 6.856  
ops/ms
   AdvanceBenchmark.linearSearch                   thrpt   15  437.259 ± 3.016  
ops/ms
   AdvanceBenchmark.vectorUtilSearch               thrpt   15  837.679 ± 9.405  
ops/ms
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to