I'm trying to do benchmarking with JMH, the benchmarking result did come out but not perfectly
Somehow there's ?? in the numbers, is it the problem with my IDE where I need to set up the settings to show the full numbers or something?
I'm trying to do benchmarking with JMH, the benchmarking result did come out but not perfectly
Somehow there's ?? in the numbers, is it the problem with my IDE where I need to set up the settings to show the full numbers or something?
The JMH output makes use of extended Unicode characters. In particular, ? 10?? s/op" probably means "≈ 10⁻¹⁰ s/op".
To solve it
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public class MyBenchmark {
What you are facing is an encoding issue.
JMH by default encodes its output as UTF-8 so instead of those ??
you'll see ±
for Error column and e.g. ≈ 10⁻³
for Score column on Linux or Mac.
On Windows Unicode is supported in terminal but not entirely, this is why you see ??
instead of some symbols. To fix this please follow the manual described in another SO question: How to use unicode characters in Windows command line?