[
https://issues.apache.org/jira/browse/CASSANDRA-8614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14277276#comment-14277276
]
Ariel Weisberg commented on CASSANDRA-8614:
-------------------------------------------
I am trying to disable the instruction so I can get the fallback and measure. I
read in some places that Adler32 was also supposed to get accelerated, but I
only see stuff for CRC32. Doesn't mean it doesn't do it on the sly, but we
might get the speedup even using Adler32.
The JVM is accepting -XX:-UseCLMUL -XX:-UseCRC32Intrinsic, but it doesn't seem
to work. I keep getting 13 gigabytes/second. Something doesn't add up. The
speed up going from 128-bytes to 1 megabyte is also suspicious.
I also got 13 gigabytes/sec out of JDK 7. ??!!!?? I'm definitely not measuring
what I think I'm measuring.
> 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: Benedict
> Labels: performance
> Attachments: 8614.patch, 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)