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