zacharymorn commented on pull request #101:
URL: https://github.com/apache/lucene/pull/101#issuecomment-834114823


   > I played with your branch in order to try to speed things up a bit and I'm 
getting a bit closer to our current WAND implementation: 
https://github.com/jpountz/lucene/tree/LUCENE-9335-BMMScorer. Hopefully it's 
not too buggy. On the latest benchmark I ran it was 15% faster than WANScorer 
on your OrMedMedMedMedMed task.
   
   Oh wow thanks Adrien for trying it out! It's quite a speed up from -20 ~ 40% 
to +15%!! I also run it with the full benchmark queries and see it's making + 
20% - 90% speed up for `OrHighHigh`, with the cost of -10 ~ 20% slow down for  
`OrHighLow` and `OrHighMed`, but it seems like a good net speedup given the 
latter twos already have much faster QPS compared to `OrHighHigh`?
   
   I took a quick look at your implementation and will study it more in the 
next few days, but right now I can see a few optimizations you applied and 
suggested earlier that can explain the speed up:
   1. The use of faster methods on the priority queue `updateTop`, `topList` etc
   2. The use of maxScore instead of `score()` to pick competitive doc from the 
simplified iterator
   3. Pushing more scorers into `nonEssentialScorers` in `repartitionLists`  
   
   The last two are optimization techniques not mentioned in the paper I think?
   
   By the way, please feel free to push directly into this PR branch as well, 
as I think your changes are in pretty good shape? 


-- 
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to