cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8614) Select optimal CRC32 implementation at runtime
Date Thu, 26 Feb 2015 06:03:05 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-8614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14337944#comment-14337944
] 

Ariel Weisberg commented on CASSANDRA-8614:
-------------------------------------------

How are you building? Are you using build.xml or an IDE? build.xml includes a dummy implementation
of java.util.zip.CRC32 that has the missing method so it compiles. Until CASSANDRA-8836 is
done if you are using an IDE you will need to have the compiler add -Xbootclasspath/p:${build.src.jdkoverride}
where build.src.jdkoverride is the path to src/jdkoverride.

> 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
>            Assignee: Ariel Weisberg
>              Labels: performance
>         Attachments: 8614.patch, CRC32.class, Sample.java
>
>
> 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)

Mime
View raw message