mikemccand commented on PR #15585:
URL: https://github.com/apache/lucene/pull/15585#issuecomment-3805633205

   > The benchmarks are looking good :
   
   If I understand correctly, Lucene `main` now defaults to no IOContext-based 
`madvise`?  And luceneutil just goes with Lucene's defaults here?  Which makes 
these benchmark results very surprising!  Oh, wait!, that is a different 
`madvise`.
   
   This change is about Lucene's dynamic prefetch -- `madvise(WILL_NEED)` for 
specific byte ranges of the file.  (Lucene also has static prefetch -- up front 
`madvise(WILL_NEED)` on the entire file when it's opened, but we are not 
changing that here).  So this change fixes the frequency of clones calling 
`.isLoaded()` on the entire file.  In the hot case, this is disastrous (slowest 
call for `.isLoaded()`).
   
   Still, for `HighTerm`, which is a high frequency term, we create the clones 
(once per segment) and then use them for a long-ish time.  I would've thought 
that the high `.isLoaded()` cost would've been amortized and we wouldn't see 
such gains from `HighTerm`.  Confusing...


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