You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Yingqi Lu (JIRA)" <ji...@apache.org> on 2017/09/26 04:25:00 UTC

[jira] [Created] (CASSANDRA-13903) Add JDK9 vectorizedMismatch array compare support

Yingqi Lu created CASSANDRA-13903:
-------------------------------------

             Summary: Add JDK9 vectorizedMismatch array compare support
                 Key: CASSANDRA-13903
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13903
             Project: Cassandra
          Issue Type: Improvement
          Components: Local Write-Read Paths
            Reporter: Yingqi Lu


Dear All,

JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It introduces a set of new vectorizedMismatch APIs for array comparison. On supported platforms, the new JDK9 implementation is intrisified to leverage SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can be compared as a single unit.  

Currently in Cassandra, keys are implemented as ByteBuffers and compared as byte arrays most of the time. Key comparison, for example decorated key compare, it is either done with unsafe operation taking 8 bytes at a time, or pure java operation comparing byte by byte. This can be optimized with new JDK9 java.util.Arrays.compare APIs on modern CPUs.

Please let us know your feedback. At the meantime, we will submit a patch with performance studies in couple of weeks.

Thanks,
Yingqi Lu




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org