[ https://issues.apache.org/jira/browse/CASSANDRA-8630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14733463#comment-14733463 ]
Stefania commented on CASSANDRA-8630: ------------------------------------- {{FB.NS_DANGEROUS_NON_SHORT_CIRCUIT}} I don't care much about either. As for {{FB.UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR}}, even if it's not a problem at the moment, it may confuse somebody in future and cause a problem. I also don't mind either way though, so let's wait for [~aweisberg]'s input as well and then decide? CI: http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8630-3.0-coverity-dtest/ http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-8630-3.0-coverity-testall/ A few failed dtests but the failures are also on the unpatched 3.0. > Faster sequential IO (on compaction, streaming, etc) > ---------------------------------------------------- > > Key: CASSANDRA-8630 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8630 > Project: Cassandra > Issue Type: Improvement > Components: Core, Tools > Reporter: Oleg Anastasyev > Assignee: Stefania > Labels: compaction, performance > Fix For: 3.x > > Attachments: 8630-FasterSequencialReadsAndWrites.txt, cpu_load.png, > flight_recorder_001_files.tar.gz, flight_recorder_002_files.tar.gz, > mmaped_uncomp_hotspot.png > > > When node is doing a lot of sequencial IO (streaming, compacting, etc) a lot > of CPU is lost in calls to RAF's int read() and DataOutputStream's write(int). > This is because default implementations of readShort,readLong, etc as well as > their matching write* are implemented with numerous calls of byte by byte > read and write. > This makes a lot of syscalls as well. > A quick microbench shows than just reimplementation of these methods in > either way gives 8x speed increase. > A patch attached implements RandomAccessReader.read<Type> and > SequencialWriter.write<Type> methods in more efficient way. > I also eliminated some extra byte copies in CompositeType.split and > ColumnNameHelper.maxComponents, which were on my profiler's hotspot method > list during tests. > A stress tests on my laptop show that this patch makes compaction 25-30% > faster on uncompressed sstables and 15% faster for compressed ones. > A deployment to production shows much less CPU load for compaction. > (I attached a cpu load graph from one of our production, orange is niced CPU > load - i.e. compaction; yellow is user - i.e. not compaction related tasks) -- This message was sent by Atlassian JIRA (v6.3.4#6332)