uschindler commented on issue #15079:
URL: https://github.com/apache/lucene/issues/15079#issuecomment-3214314412

   I reverted the lambda vs. VarHandle fix and give it another try. I hope the 
benchmarking now works stable, so we can see the results one-by-one. The 4 days 
of silence of the benchy machine made the analysis very complicated. I know the 
right track, let's think about it. My idea is to replace the lambda/varhandle 
by a simple callback instance which is statically allocated! This allows us to 
optimize in subclasses without adding extra code and add public methods. I also 
don't like the new Method in IndexInput that is not declared "protected" 
because its called from the static utility class.
   
   @jpountz: I'd like to move the GroupVIntUtil code regarding the optimization 
into the DataInput base class as protected method (only available to 
subclasses) and then we can have a nice lambda-free implementation in 
subclasses (still using Varhandle), but without adaptions referring to final 
fields in the implementation class.
   
   I will make a new PR with this approach. This would allow us to minimize the 
adaption logic and use the VarHandle in a way it is designed for (passing it as 
method parameter was a bad idea!).


-- 
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: issues-unsubscr...@lucene.apache.org

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