Semen Boikov created IGNITE-4661:
------------------------------------
Summary: Optimizations: optimize PagesList.removeDataPage
Key: IGNITE-4661
URL:
https://issues.apache.org/jira/browse/IGNITE-4661 Project: Ignite
Issue Type: Task
Components: cache
Reporter: Semen Boikov
Fix For: 2.0
Optimization for new PageMemory approach (IGNITE-3477, branch ignite-3477).
Currently PagesList.removeDataPage requires linear search by page ID, need check if it makes sense to change structure of PagesList's element from list to hash table.
Here are links to proposed hash table alrorithm:
http://codecapsule.com/2013/11/11/robin-hood-hashinghttp://codecapsule.com/2013/11/17/robin-hood-hashing-backward-shift-deletion/Note: with hash table approach 'take' from PagesList will require linear search, so we'll also need some heuristic to make it more optimal.
For more details see:
IgniteCacheOffheapManagerImpl.update -> FreeListImpl.insertDataRow,
IgniteCacheOffheapManagerImpl.update -> FreeListImpl.removeDataRowByLink.
To check result of optimization IgnitePutRandomValueSizeBenchmark can be used.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)