[ 
https://issues.apache.org/jira/browse/IGNITE-15443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17438054#comment-17438054
 ] 

Vladimir Ermakov commented on IGNITE-15443:
-------------------------------------------

Based on the article 
([http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/)]
 and the tests attached to it ([https://github.com/mikvor/hashmapTest]), I made 
a comparison of different map implementations(including IntMap from Ignite 2, 
FastUtils, Netty, Trove, JDK and OpenHFT).

The fastest in the tests were Ignite 2 and FastUtils implementations.

After reviewing the code, it became clear that the implementation of the maps 
is quite similar. However, in FastUtils library some parts of the code are more 
optimal due to less creation of objects.
 
Given that FastUtils library may contain other useful data structures, it was 
decided to add it as dependency to the project using the maven-shading plugin.
 
The dependency will be added in the IGNITE-15462 task.

> Add Map with primitive keys implementations.
> --------------------------------------------
>
>                 Key: IGNITE-15443
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15443
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Andrey Mashenkov
>            Assignee: Vladimir Ermakov
>            Priority: Major
>              Labels: ignite-3, newbie, perfomance
>
> There are a number of places where Map<Integer, Integer> and Map<Integer, 
> Object> are used.
> Let's add an optimized Map with a primitive key (IntMap, IntIntMap) to the 
> ignite-core module.
> Let's benchmark next candidates and choose one
> * IntMap from Ignite 2 with robinhood hashing.
> * FastUtils
> * Netty
> * OpenHFT



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to