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

Reply via email to