neoremind commented on issue #16044:
URL: https://github.com/apache/lucene/issues/16044#issuecomment-4989255875

   Thanks @jimczi! I've read #14156. One nuance from my benchmarking though: I 
actually got a bit different take. `isLoaded()` itself looks cheap (~1us or 
less, scales well, and even helps under concurrency when pages are warm 
compared with unconditionally prefetching warm pages), it is the power-of-two 
backoff counter that suppresses prefetch right at the mixed-warm/cold, 
index-barely-fits-in-RAM where we need prefetch most. So my leaning is to maybe 
soften/optimize the backoff strategy and keep `isLoaded()`, rather than 
removing backoff counter completely or removing isLoaded(). 
   
   I wrote the full data and my 2 cents in #16145, benchmarking against 
RandomReadIOBenchmark (#16279) + a real stored-fields prefetch-then-read 
workload + a micro isLoaded() vs madvise, across hot / near fit RAM / cold at 
1–16 threads, would love your thoughts. Also, please take a look of 
RandomReadIOBenchmark (#16279) if you have time since this is somewhat a simple 
`fio` in Java. Many thanks!


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