RFR: 8365290: [perf] x86 ArrayFill intrinsic generates SPLIT_STORE for unaligned arrays [v7]
Vladimir Kozlov
kvn at openjdk.org
Wed Oct 1 20:46:02 UTC 2025
On Wed, 1 Oct 2025 19:41:41 GMT, Vladimir Ivanov <vaivanov at openjdk.org> wrote:
>> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 5920:
>>
>>> 5918: if (EnableX86ECoreOpts) {
>>> 5919: // align 'big' arrays to cache lines to minimize split_stores
>>> 5920: cmpptr(count, 96 << shift);
>>
>> What is `96?
>
> Two trends identified for buffer filling:
> - filling up to cache line size by 4 bytes reduce performance;
> - operate by cache line size improve performance.
> According to experiments on Xeon 6740E the 96 is good compromise. For small arrays it is better to ignore split_store and do filling by bigger elements.
What is cache line size for Xeon 6740E? That is what I am asking.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26747#discussion_r2395856078
More information about the hotspot-dev
mailing list