Jon Haddad created CASSANDRA-20428: -------------------------------------- Summary: Eliminate byte array allocation in ByteArrayAccessor.read Key: CASSANDRA-20428 URL: https://issues.apache.org/jira/browse/CASSANDRA-20428 Project: Apache Cassandra Issue Type: Improvement Reporter: Jon Haddad Attachments: allocation-reverse.html, image-2025-03-11-11-05-55-378.png
During compaction we allocate a new byte[] in ByteArrayAccessor.read. This is one of the hottest paths in the codebase, hit during writes, compaction, creating tables, and possibly others. In my performance tests using default compaction settings of 64MB I see this responsible for 40% of allocations. This is largely what drives GC pause frequency and duration. If we are able to eliminate the O(N) allocations performed here, this might be one of the best optimizations we could do for the number of things it touches. Allocation profile attached. !image-2025-03-11-11-05-55-378.png|width=514,height=269! -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org