On Mon, 12 May 2025 09:39:48 GMT, Andrew Haley <[email protected]> wrote:
> > Looking at the improvements made, I suggest we also change (in
> > `SegmentBulkOperations`):
> > ```
> > private static final int NATIVE_THRESHOLD_FILL = powerOfPropertyOr("fill",
> > Architecture.isAARCH64() ? 18 : 5);
> > ```
> > to
> > ```
> > private static final int NATIVE_THRESHOLD_FILL = powerOfPropertyOr("fill",
> > 5);
> > ```
>
> Possibly so, yes, but I'm still looking at the reasons for the differences.
OK, I've done that. Numbers below, and I think that makes the cut between Java
code and the intrinsic at the right place.
Benchmark (aligned) (size) Mode Cnt Score Error
Units
MemorySegmentFillUnsafe.panama true 1 avgt 10 1.522 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama true 2 avgt 10 1.385 ± 0.003
ns/op
MemorySegmentFillUnsafe.panama true 3 avgt 10 1.387 ± 0.003
ns/op
MemorySegmentFillUnsafe.panama true 4 avgt 10 1.520 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama true 5 avgt 10 1.530 ± 0.007
ns/op
MemorySegmentFillUnsafe.panama true 6 avgt 10 1.523 ± 0.003
ns/op
MemorySegmentFillUnsafe.panama true 7 avgt 10 1.538 ± 0.010
ns/op
MemorySegmentFillUnsafe.panama true 8 avgt 10 1.663 ± 0.014
ns/op
MemorySegmentFillUnsafe.panama true 15 avgt 10 1.940 ± 0.005
ns/op
MemorySegmentFillUnsafe.panama true 16 avgt 10 1.812 ± 0.007
ns/op
MemorySegmentFillUnsafe.panama true 63 avgt 10 2.332 ± 0.005
ns/op
MemorySegmentFillUnsafe.panama true 64 avgt 10 2.157 ± 0.009
ns/op
MemorySegmentFillUnsafe.panama true 255 avgt 10 3.857 ± 0.057
ns/op
MemorySegmentFillUnsafe.panama true 256 avgt 10 3.506 ± 0.015
ns/op
MemorySegmentFillUnsafe.panama false 1 avgt 10 1.522 ± 0.005
ns/op
MemorySegmentFillUnsafe.panama false 2 avgt 10 1.384 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 3 avgt 10 1.386 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 4 avgt 10 1.520 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 5 avgt 10 1.528 ± 0.009
ns/op
MemorySegmentFillUnsafe.panama false 6 avgt 10 1.525 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 7 avgt 10 1.533 ± 0.003
ns/op
MemorySegmentFillUnsafe.panama false 8 avgt 10 1.665 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 15 avgt 10 1.941 ± 0.004
ns/op
MemorySegmentFillUnsafe.panama false 16 avgt 10 1.811 ± 0.008
ns/op
MemorySegmentFillUnsafe.panama false 63 avgt 10 2.332 ± 0.006
ns/op
MemorySegmentFillUnsafe.panama false 64 avgt 10 2.152 ± 0.005
ns/op
MemorySegmentFillUnsafe.panama false 255 avgt 10 5.040 ± 0.041
ns/op
MemorySegmentFillUnsafe.panama false 256 avgt 10 4.859 ± 0.040
ns/op
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25147#issuecomment-2877178492