[
https://issues.apache.org/jira/browse/CASSANDRA-21526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Konstantinov updated CASSANDRA-21526:
--------------------------------------------
Fix Version/s: 6.0-alpha2
7.0
(was: 6.x)
(was: 7.x)
Source Control Link:
https://github.com/apache/cassandra/commit/725c61c1f7774c329f573a26906cc566f8110fd9
Resolution: Fixed
Status: Resolved (was: Ready to Commit)
> 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
> Priority: Normal
> Fix For: 6.0-alpha2, 7.0
>
> Attachments: CASSANDRA-21526-6.0_ci_summary.htm,
> CASSANDRA-21526-6.0_results_details.tar.xz,
> CASSANDRA-21526-trunk_ci_summary.htm,
> CASSANDRA-21526-trunk_results_details.tar.xz, example.png
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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 using implementations of the
> correspondent getters to 2 (or 1 if non offheap_objects mode is used), so we
> will have monomorphic (ideal for performance) 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]