3 ms·
JMH intentionally disables many optimizations that hotspot would otherwise perform, so comparing the (optimized) rust performance with the (de-optimized) jmh pe
by nqzero 5y ago
JMH intentionally disables many optimizations that hotspot would otherwise perform, so comparing the (optimized) rust performance with the (de-optimized) jmh performance doesn't make any sense
- aw1621107 5y agoReally? That's a surprise to me, considering the supposed purpose of JMH, though to be fair I'm not hugely experienced in it. Do you know what optimizations are disabled? Are they disabled automatically, or only if certain parameters/functions are used (e.g., BlackHole)?
- nqzero 5y agofor the official oracle view, see: https://www.oracle.com/technical-resources/articles/java/architect-benchmarking.html https://www.oracle.com/technical-resources/articles/java/arc... "JMH provides a [snip] foundation for writing and running benchmarks whose results are not erroneous due to unwanted virtual machine optimizations" unsolicited personal opinion: they're almost always erroneous for other reasons i'm not sure which optimizations are currently disabled
- aw1621107 5y agoHmmm. Wonderfully vague. Suppose I'd need to dig into the source to figure it out. To be fair, now that I think about it I suppose some deoptimizations make sense (e.g., preventing replacement of loops). Thanks for pointing me to that article!