You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2015/10/22 16:51:27 UTC
[jira] [Commented] (IGNITE-1770) Portables: implement constant-time
field lookup.
[ https://issues.apache.org/jira/browse/IGNITE-1770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14969253#comment-14969253 ]
Vladimir Ozerov commented on IGNITE-1770:
-----------------------------------------
Before digging into implementation I tried to measure optimized vs portable marshaller deserialization using JMH and sample "Address" class having two ints and two strings. Summary:
Object size:
Optimized: 60 bytes
Poratble: 108 bytes
Deserialization throughput:
Optimized: 3.0KK ops/sec
Portable: 2.6KK ops/sec
The I implemented some draft optimizations on reading side:
- Removed unnecessary ID mapper lookup on each field read;
- Optimized field seek algorithm for sequential reads;
- Delayed handles hash map creation when possible;
- Get rid of manual string lower-casing.
Results:
Optimized: 3.0KK ops/sec
Portable before: 2.6KK ops/sec
Portable after: 4.8KK ops/sec
As a next step I want to measure random field seek performance with and without proposed algorithm. Then I'll start implementation.
> Portables: implement constant-time field lookup.
> ------------------------------------------------
>
> Key: IGNITE-1770
> URL: https://issues.apache.org/jira/browse/IGNITE-1770
> Project: Ignite
> Issue Type: Task
> Components: general, interop
> Affects Versions: ignite-1.4
> Reporter: Vladimir Ozerov
> Assignee: Vladimir Ozerov
> Priority: Blocker
> Fix For: 1.5
>
>
> See https://cwiki.apache.org/confluence/display/IGNITE/Portable+object+constant-time+field+lookup
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)