[ https://issues.apache.org/jira/browse/CASSANDRA-15215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17458399#comment-17458399 ]
Benedict Elliott Smith commented on CASSANDRA-15215: ---------------------------------------------------- Thanks for checking, and apologies about that - the CQLConnectionTest failures looked like encoding/decoding problems so I assumed plausibly connected to this patch, as I hadn't seen them before. I've rebased, and introduced one [nit|https://github.com/belliottsmith/cassandra/commit/934fe98900b35c6a8639f1b6e0240b9a3aef36c9] commit to use the (presumably more efficient) {{DataOutputPlus.writeBytes}} as a fallback in {{BufferedDataOutputStreamPlus}}. Once CI is green, assuming you're OK with this change, I'll merge to trunk. > VIntCoding should read and write more efficiently > ------------------------------------------------- > > Key: CASSANDRA-15215 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15215 > Project: Cassandra > Issue Type: Bug > Components: Local/Compaction, Local/SSTable > Reporter: Benedict Elliott Smith > Assignee: Aleksandr Sorokoumov > Priority: Normal > Fix For: 3.0.x, 3.11.x, 4.x > > Attachments: testWriteRandomLongDOP_final.png, > writeUnsignedVInt_megamorphic_BB.png, writeUnsignedVInt_megamorphic_DOP.png > > Time Spent: 40m > Remaining Estimate: 0h > > Most vints occupy significantly fewer than 8 bytes, and most buffers have >= > 8 bytes spare, in which case we can construct the relevant bytes in a > register and memcpy them to the correct position. Since we read and write a > lot of vints, this waste is probably measurable, particularly during > compaction and flush, and can probably be considered a performance bug. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org