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
Do you know what optimizations are disabled? Are they disabled automatically, or only if certain parameters/functions are used (e.g., BlackHole)?
"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
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!