RFR: 8350866: [x86] Add C1 intrinsics for CRC32-C [v4]

duke duke at openjdk.org
Thu Mar 13 09:53:53 UTC 2025


On Tue, 11 Mar 2025 10:56:18 GMT, David Linus Briemann <duke at openjdk.org> wrote:

>> Local benchmarks show good improvements for the crc32c intrinsification:
>> 
>> 
>> without intrinsic (master):
>> 
>> 
>> $JDK/java -DmsgSize=5120 -XX:TieredStopAtLevel=1 -Xcomp TestCRC32C 300000
>>  offset = 0
>> msgSize = 5120 bytes
>>   iters = 300000
>> -------------------------------------------------------
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> CRC32C.update(byte[]) runtime = 1.186507782 seconds
>> CRC32C.update(byte[]) throughput = 1294.5553525244388 MB/s
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> -------------------------------------------------------
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> CRC32C.update(ByteBuffer) runtime = 1.355515648 seconds
>> CRC32C.update(ByteBuffer) throughput = 1133.1481139788364 MB/s
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> -------------------------------------------------------
>> 
>> 
>> with intrinsic:
>> 
>> 
>> $JDK/java -DmsgSize=5120 -XX:TieredStopAtLevel=1 -Xcomp TestCRC32C 300000
>>  offset = 0
>> msgSize = 5120 bytes
>>   iters = 300000
>> -------------------------------------------------------
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> CRC32C.update(byte[]) runtime = 0.065003188 seconds
>> CRC32C.update(byte[]) throughput = 23629.610289267657 MB/s
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> -------------------------------------------------------
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> CRC32C.update(ByteBuffer) runtime = 0.072310133 seconds
>> CRC32C.update(ByteBuffer) throughput = 21241.836189127185 MB/s
>> CRCs: crc = 0cbca9c8, crcReference = 0cbca9c8
>> -------------------------------------------------------
>
> David Linus Briemann has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - fix
>  - address review comments

@dbriemann 
Your change (at version c3eb92d2bc2e336a81d0b39a41cb569b3ca1d0cc) is now ready to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jdk/pull/23826#issuecomment-2720635792


More information about the hotspot-compiler-dev mailing list