mikemccand commented on pull request #177:
URL: https://github.com/apache/lucene/pull/177#issuecomment-866784477


   > > > The problem with luceneutil is also that it respawns a JVM multiple 
times.
   > > 
   > > 
   > > Hmm, we added multiple JVMs long ago precisely because HotSpot was so 
unpredictable. I.e. we had clear examples where HotSpot would paint itself into 
a corner, compiling e.g. `readVInt` poorly and never re-compiling it, or 
something, such that no matter how long the benchmark ran, it would never reach 
as good performance as if you simply restarted the whole JVM and rolled the 
dice again. But maybe this situation has been improved and these were somehow 
early HotSpot bugs/issues and we could really remove multiple JVMs without 
harming how accurately we can extract the mean/variance performance of all our 
benchmark tasks?
   > 
   > This is also not reality: Would you restart your Elasticsearch server from 
time to time because you think there might be a broken `readVInt()` 
optimization?
   
   Yeah, that is true!  But perhaps it shouldn't be the case :)  Maybe 
Elasticsearch/OpenSearch/Solr should spawn JVM a few times until they get a 
"good" `readVInt` compilation!  The noisy mis-compilation was such a sizable 
impact (back then, hopefully not anymore?).
   
   If we only ran benchmarks in nightly runs so that we could see that 
noise/variance with time, maybe we could do just one JVM.
   
   But when a developer is trying to test an exciting optimization, in the 
privacy of their `git clone`, it really sucks to have hotspot noise completely 
drown out any small gains your optimization might show!
   
   Benchmarking is hard :)
   
   > Here are the berlinbuzzwords slides about this: 
https://2021.berlinbuzzwords.de/sites/berlinbuzzwords.de/files/2021-06/The%20future%20of%20Lucene%27s%20MMapDirectory.pdf
   
   Oooh, thanks for sharing!  The talk looks AWESOME!  I will watch recording 
when it's out :)  You should share these slides on Twitter too?


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