RFR: 8312420: Integrate Graal's blender micro benchmark

Xin Liu xliu at openjdk.org
Mon Aug 7 18:40:48 UTC 2023


On Fri, 21 Jul 2023 07:44:18 GMT, Joshua Cao <duke at openjdk.org> wrote:

>> We would like to integrate Graal's blender micro benchmark from https://www.graalvm.org/22.1/examples/java-performance-examples/. We have been using this benchmark to test our partial escape analysis work (https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2023-July/066670.html). This test can exist independently of the project.
>> 
>> 
>> example command to run test:
>> 
>> 
>> make run-test TEST=micro:org.openjdk.bench.vm.compiler.pea.Blender MICRO="FORK=1;OPTIONS=-prof gc -gc true"
>> 
>> 
>> example output (not complete):
>> 
>> 
>> Benchmark                               (iteration)  Mode  Cnt          Score   Error   Units                                                                       [29/1913]
>> Blender.initialize                                1  avgt       227997775.000           ns/op
>> Blender.initialize:·gc.alloc.rate                 1  avgt             167.192          MB/sec
>> Blender.initialize:·gc.alloc.rate.norm            1  avgt        40000081.600            B/op
>> Blender.initialize:·gc.count                      1  avgt               4.000          counts
>> Blender.initialize:·gc.time                       1  avgt              65.000              ms
>> Blender.initialize                                2  avgt       226255767.800           ns/op
>> Blender.initialize:·gc.alloc.rate                 2  avgt             168.466          MB/sec
>> Blender.initialize:·gc.alloc.rate.norm            2  avgt        40000081.600            B/op
>> Blender.initialize:·gc.count                      2  avgt               4.000          counts
>> Blender.initialize:·gc.time                       2  avgt              58.000              ms
>> Blender.initialize                                3  avgt       225596324.600           ns/op
>> Blender.initialize:·gc.alloc.rate                 3  avgt             168.960          MB/sec
>> Blender.initialize:·gc.alloc.rate.norm            3  avgt        40000081.600            B/op
>> Blender.initialize:·gc.count                      3  avgt               4.000          counts
>> Blender.initialize:·gc.time                       3  avgt              55.000              ms
>> Blender.initialize                                4  avgt       224856811.000           ns/op
>> Blender.initialize:·gc.alloc.rate                 4  avgt             169.520          MB/sec
>> Blender.initialize:·gc.alloc.rate.norm            4  avgt        40000081.600            B/op
>> Blender.initialize:·gc.count                      4  avgt ...
>
> Can we still merge this into OpenJDK? For example, I can close this PR, leave the JBS issue open, and let someone at Oracle author the patch. Would folks at Oracle want to integrate this benchmark into OpenJDK?

hi, @caojoshua, 
I don't understand the purpose of parameter 'iteration'. Are you trying to differentiate the possibility of the predicate `(color.r + color.g + color.b) % 42 == 0`?  

All 11 candidate values are all less than 20, so `iteration / 20` is always 0, right?  Do we expect to see anything difference in `Blender.initialize:·gc.alloc.rate.norm` if we run it with GraalVM?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14941#issuecomment-1668400563


More information about the hotspot-compiler-dev mailing list