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-hashing
http://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)

Reply via email to