You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ariel Weisberg (JIRA)" <ji...@apache.org> on 2015/01/13 22:23:34 UTC

[jira] [Created] (CASSANDRA-8614) Select optimal CRC32 implementation at runtime

Ariel Weisberg created CASSANDRA-8614:
-----------------------------------------

             Summary: Select optimal CRC32 implementation at runtime
                 Key: CASSANDRA-8614
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8614
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
            Reporter: Ariel Weisberg


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)