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/29 17:01:27 UTC

[jira] [Commented] (IGNITE-1803) Optimize random portable field lookup.

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

Vladimir Ozerov commented on IGNITE-1803:
-----------------------------------------

Optimized. Random field lookup become 7x faster. Though, we are still loosing OptimizedMarshaller. Need to evaluate possible further improvements.

> Optimize random portable field lookup.
> --------------------------------------
>
>                 Key: IGNITE-1803
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1803
>             Project: Ignite
>          Issue Type: Task
>          Components: general
>    Affects Versions: ignite-1.4
>            Reporter: Vladimir Ozerov
>            Assignee: Vladimir Ozerov
>            Priority: Critical
>             Fix For: 1.5
>
>
> This ticket should be implemented after IGNITE-1770 is ready because it relies on constant-time lookup feature availability.
> The following optimizations should be performed:
> 1) Create method "PortableFieldReader createFieldReader()" on PortableObject interface. This will minimize garbage and let us get rid from unnecessary header parsing.
> 2) Field position is calculated as follows: 
> - Lookup ID mapper for type, get ID;
> - Lookup schemas for type;
> - Lookup schema for schema ID;
> - Lookup field offset for field ID inside schema.
> 4 (!!!) map lookups! It should work as follows:
> - Lookup ID mapper and schemas for type;
> - Lookup field offset using (schema ID + field ID).
> The latter lookup should be performed from highly optimized long->int map, not from conventional HashMap.
> 3) Normal field scan is faster than constant-time lookup when amount of fields is about 10. We need to have two field search strategies and pick the most performant one based on field count (which can be derived in advance from object footer size).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)