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