RFR: 8361076: Add benchmark for ImageReader in preparation for Valhalla changes [v3]

Alan Bateman alanb at openjdk.org
Wed Jul 16 06:05:39 UTC 2025


On Tue, 1 Jul 2025 16:50:09 GMT, David Beaumont <duke at openjdk.org> wrote:

>> test/micro/org/openjdk/bench/jdk/internal/jrtfs/ImageReaderBenchmark.java line 230:
>> 
>>> 228:     // Created by running "java -verbose:class", throwing away anonymous inner
>>> 229:     // classes and anything without a reliable name, and grouping by the stated
>>> 230:     // source. It's not perfect, but it's representative.
>> 
>> I don't think this is maintainable. How useful (or not) is this benchmark if the names of all the internal classes (that will change from release to release) are dropped from this?
>
> Debatable. It's obviously going to scale any results somewhat based on the size of the resources and number of classes. It's kind nice to see "this change removes at least N micro/milli seconds of time spent" since that's a minimum set of classes we expect to always be needed, so any time saved is a lower bound.
> 
> I'd say maybe leave it as is for now with a note saying "if this keeps breaking, make the list less fragile".
> I'm also assuming this is only run manually, and not a part of any CI pipeline ... so please let me know if I'm wrong about that.

lib/classlist is used to generate the AOT archive, I wonder if a `@Setup` could be used to consume that to create the INIT_CLASSES.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26044#discussion_r2209331471


More information about the build-dev mailing list