Dmitry Konstantinov created CASSANDRA-21526:
-----------------------------------------------

             Summary: Avoid megamorpthic calls for 
Cell.timestamp/ttl/path/localDeletionTimeAsUnsignedInt methods
                 Key: CASSANDRA-21526
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21526
             Project: Apache Cassandra
          Issue Type: Improvement
          Components: Local/Other
            Reporter: Dmitry Konstantinov
            Assignee: Dmitry Konstantinov


Currently we have 3 main implementations for Cell:
* ArrayCell
* BufferCell 
* NativeCell

in some cases all of them can be used together in the same call sites causing a 
virtual dispatch and inability to inline.
For property getter methods: timestamp/ttl/path/localDeletionTimeAsUnsignedInt 
we can avoid it by introducing a common parent class for ArrayCell and 
BufferCell and moving common fields there. It will reduce implementations of 
the correspondent getters to 2 (or 1 if non offheap_objects mode is used), so 
we will have monomorphic or bimorphic calls of the methods which JIT can 
optimize/inline.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to