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]