RFR: 8373026: C2 SuperWord and Vector API: vector algorithms test and benchmark [v4]

Vladimir Ivanov vlivanov at openjdk.org
Fri Jan 16 21:36:49 UTC 2026


On Fri, 16 Jan 2026 08:16:55 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>>>Maybe resetting inputs between forks is a good compromise.
>> 
>> Given the 3 options for `Level`, `Iteration` is in the middle, so that would be the compromise ;)
>> 
>> If I did go with per-fork `Setup`, I would have to have `50` forks, which mean we would have to do warmup for each of the `50` forks. It would drive up the runtime quite a lot.
>
>>Also, it makes it harder to reproduce input dependent variance.
> 
> I suppose my whole goal was to eliminate input dependent variance as far as possible. Do you think it would be better to make input dependent variance measurable at the `Iteration` level? I fear that this will make the variance of the benchmark very large, and the results of a fork would be quite noisy.

My personal preference is `Level.Trial`. When I work with a microbenchmark, the fewer "moving parts" it has the better. It's easy to spot fork-to-fork variance. Not so much with iteration variance where a single outlier can be caused by many factors.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28639#discussion_r2700027532


More information about the hotspot-compiler-dev mailing list