4 ms·
My first thought was that it's a bug in the deoptimizer, i.e. the JIT compiler dynamically switches back to a deoptimized form to throw away invalid optimizatio
by kgeist 5y ago
My first thought was that it's a bug in the deoptimizer, i.e. the JIT compiler dynamically switches back to a deoptimized form to throw away invalid optimizations (or so it it thinks) to apply new optimizations which are more relevant to the current load/usage patterns. [0]
I think I've seen a bug report once about this deoptimization/optimization process happening in an infinite loop, but why would it happen only under Docker on Linux, but not Mac? Perhaps, the deoptimizer relies on heuristics which depend on the current environment.
[0] https://stackoverflow.com/a/20542675 https://stackoverflow.com/a/20542675
- richdougherty 5y agoI agree. Or rather, something to do with the JIT generally. I'd look into dumping JIT info or the assembly generated.
- kaba0 5y agoMaybe try it with the JIT disabled. My guess though is that it is related to which core the process starts on, unrelated to Java itself.