[ https://issues.apache.org/jira/browse/CASSANDRA-8614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14277131#comment-14277131 ]
Benedict commented on CASSANDRA-8614: ------------------------------------- Perhaps. But people might run C* with different VMs, and so result in a bad choice (i.e. might try JDK8, find it unstable, and rollback - but now have all their data with more expensive checksums). We should probably also detect the hardware to decide if running with native CRC is a good thing, versus Adler. Or perhaps perform some benchmarks on other hardware. It's likely still slower on hardware without the native instructions. > 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 > Labels: performance > Attachments: 8614.patch > > > 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)