On Mon, 12 Jun 2023 14:25:42 GMT, Per Minborg <[email protected]> wrote:
> This PR proposes adding `@Stable` to certain wrapper classes' cache arrays
> (e.g. `Integer` and `Long`).
>
> Comments are welcome as to how to improve the VM's handling now that the
> backing cache array is `@Stable`. Are there simplifications to be made or are
> there other optimizations we might add?
The performance is similar with this PR compared to the base line:
Before:
Benchmark (size) Mode Cnt Score Error Units
Integers.valueOf 500 avgt 15 0.652 ± 0.003 ns/op
After
Benchmark (size) Mode Cnt Score Error Units
Integers.valueOf 500 avgt 15 0.649 ± 0.003 ns/op
@State(Scope.Thread)
public static class Data {
int value = 42;
}
...
@Benchmark
public void valueOf(Data data, Blackhole bh) {
bh.consume(Integer.valueOf(data.value));
}
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14418#issuecomment-1587463431