[
https://issues.apache.org/jira/browse/IGNITE-9996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669735#comment-16669735
]
Nikolay Izhikov commented on IGNITE-9996:
-----------------------------------------
Hello, [~agoncharuk], [~vozerov]
I found the reason for this issue:
1. Expensive check in {PageMemoryImpl#realPageSize}. Is consist of call
{HashMap#get} which leads to expensive boxing {int} to {Integer}.
2. In benchmarks, without encrypted caches, this fixed by a simple check:
{code:java}
if (grpEncKeys.isEmpty())
return null;
{code}
3. Buy in real life examples with at least one encrypted cache we run in the
same problem.
For full fix we should use data structure without int -> Integer boxing.
Example of such data structure -
http://www.docjar.com/docs/api/org/apache/commons/lang/IntHashMap.html
Unfortunately, there is no such thing in the Ignite codebase at the moment.
Guys, please, give me and advice, how should be full fix implemented?
> Investigate possible performance drop in FSYNC mode for ignite-2.7 compared
> to ignite-2.6
> -----------------------------------------------------------------------------------------
>
> Key: IGNITE-9996
> URL: https://issues.apache.org/jira/browse/IGNITE-9996
> Project: Ignite
> Issue Type: Task
> Reporter: Alexey Goncharuk
> Assignee: Nikolay Izhikov
> Priority: Major
> Fix For: 2.7
>
> Attachments: Screen Shot 2018-10-29 at 3.30.51 PM.png
>
>
> As per the latest reports we probably have a performance drop around 5-8% on
> write benchmarks in FSYNC mode. The cause needs to be investigated and fixed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)