[ https://issues.apache.org/jira/browse/CASSANDRA-12787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15575566#comment-15575566 ]
T Jake Luciani commented on CASSANDRA-12787: -------------------------------------------- We already have a .kind() call. I'm going to verify the issue on a high core system. [~shylaja.koko...@intel.com] thanks so much for discovering this. May I ask what tool you used to see this? I am able to see DK.compare was a hotspot but how do you see the jvm cpu cycles? > Reduce instanceOf() type checking to improve performance > -------------------------------------------------------- > > Key: CASSANDRA-12787 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12787 > Project: Cassandra > Issue Type: Improvement > Environment: The tests and examples stated were run on: > Intel (R) Xeon (R) CPU E5-2699 v3 @ 2.30GHz, HT Enabled > Oracle JDK 1.8 > Cassandra 3.10-SNAPSHOT > Linux kernel 4.7 > Reporter: shylaja kokoori > Fix For: 3.x > > Attachments: reduce_instanceof_typechecking.pdf > > > While performance profiling Cassandra with cassandra-stress test on a pure > write workload, we noticed that one of the hot methods for Cassandra server > is the compareTo( PartitionPosition pos) function in > org.apache.cassandra.db.DecoratedKey. The actual root cause of the problem is > a slowdown in Java's instanceof operator. > Our initial performance testing using a hacked JVM shows about 61% increase > in throughput and about 15% reduction in 99 percentile latency. Data shows > that improvements are from the removal of thread contention caused by > Instanceof operator. > Currently, we are working on a JDK fix to solve this issue. In the meantime, > we think it will be beneficial to address this issue at Java application > level as well. We are in the process of creating a patch to Cassandra > replacing instanceof check with virtual method calls. The patch will be > available in this thread for review soon. Please let us know your feedback > and comments. > For more details please refer to the attached pdf. -- This message was sent by Atlassian JIRA (v6.3.4#6332)