3 ms·
Mr Shipilev is pretty well aware of this. He used to give a talk "JMH: The Lesser of Two Evils" that goes into some detail about a lot of the problems and pitfa
by marginalia_nu 3y ago
Mr Shipilev is pretty well aware of this. He used to give a talk "JMH: The Lesser of Two Evils" that goes into some detail about a lot of the problems and pitfalls with microbenchmarks.
The argument isn't that microbenchmarks are never useful, but rather that they are usually not very applicable and extremely hard to get right, and even harder to interpret.
If you're doing JVM optimizations, it may be a useful tool, but like in practice, it's questionable whether these 12x optimizations will result in even a 0.1% improvement in performance in the median Java application.
It's pretty simple when you think about it. If you're optimizing effects that are hard to isolate and in many ways barely measurable in the noise of process memory alignment and similar factors, then in most cases, whatever optimization you make is likewise going to be barely measurable in the noisy hardware/software landscape.
- re-thc 3y ago> it's questionable whether these 12x optimizations will result in even a 0.1% improvement in performance in the median Java application It's good for benchmarks. This is sponsored by Intel so that benchmarks will show x86_64 running faster than arm64 and you should not switch.
- adgjlsfhk1 3y agoexcept that zen4 has avx and Intel's new consumer chips don't
- unnah 3y agoYou're thinking of AVX-512. Current Intel and AMD consumer chips support both AVX and AVX2.
- kllrnohj 3y agoMost zen4 consumer reviews didn't even have any Java benchmarks at all much less any that would have significantly changed the narrative around those CPUs. Epyc vs. Xeon is what this is about as the datacenter is the last holdout for OpenJDK at this point.