You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Roman Shaposhnik (JIRA)" <ji...@apache.org> on 2014/06/07 00:10:03 UTC

[jira] [Updated] (GIRAPH-874) Specialized byte array partitions

     [ https://issues.apache.org/jira/browse/GIRAPH-874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Roman Shaposhnik updated GIRAPH-874:
------------------------------------

    Fix Version/s:     (was: 1.1.0)

> Specialized byte array partitions
> ---------------------------------
>
>                 Key: GIRAPH-874
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-874
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 1.1.0
>            Reporter: Craig Muchinsky
>         Attachments: GIRAPH-874-2.patch, GIRAPH-874.patch
>
>
> While doing some performance tuning I discovered that loading byte array partitions was performing slower than expected. I found that the extra time was being spent allocating a new vertex object for each distinct vertexId encountered (because vertexId object is the map key). Similar to GIRAPH-704, the use of primitive maps can provide significant performance benefit in this situation. By using a primitive map, the vertex object on the VertexIterator can be reused perpetually because the vertexId object isn't used as the map key.
> When processing a large graph with 4B vertices the worker vertices requests were taking ~15 seconds each, but after implementing the above suggestion that number dropped down sub-second.



--
This message was sent by Atlassian JIRA
(v6.2#6252)