neoremind edited a comment on issue #1875: [CALCITE-3873] Use global caching for ReflectiveVisitDispatcher implementation URL: https://github.com/apache/calcite/pull/1875#issuecomment-611891530 @hsyuan Thanks for your advice about softValues. Actually now I am a little reluctant to the change, because according to benchmark, by using Guava global cache, the overhead is a little bigger than just looking up method by Reflection every time (<20 ns/op gap), and the most performant option is to use JDK ConcurrentHashMap as global cache but without size limitation and expiration for GC. The master branch version may call Reflection the first time, and then will use JDK HashMap as cache in instance level which does not bad. So my opinion is, if we can not use JDK ConcurrentHashMap as global cache, then the update may no longer necessary. Hopefully the unit test and benchmark could be useful after all. Sorry for making the thread so long.
---------------------------------------------------------------- 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 With regards, Apache Git Services