cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8614) Select optimal CRC32 implementation at runtime
Date Wed, 14 Jan 2015 16:11:35 GMT


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

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:
>             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

View raw message