Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
Description
JDK 8 has support for an intrinsic for CRC32 that runs at 12-13 gigabytes/sec per core in my quick and dirty test. PureJavaCRC32 is < 800 megabytes/sec if I recall and it has a lookup table that evicts random cache lines every time it runs.
In order to capture the benefit of that when it is available we can select a CRC32 implementation at startup in a static block.
If JDK 8 is not what is running we can fall back to the existing PureJavaCRC32 implementation.
Attachments
Attachments
Issue Links
- is depended upon by
-
CASSANDRA-8684 Replace usage of Adler32 with CRC32
- Resolved
- is related to
-
CASSANDRA-8836 Factor out CRC32Ex into a separate maven dependency
- Resolved