[
https://issues.apache.org/jira/browse/GIRAPH-874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Craig Muchinsky updated GIRAPH-874:
-----------------------------------
Attachment: GIRAPH-874-2.patch
Updated patch with a few minor simplifications and file mode changes
> 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
> Fix For: 1.1.0
>
> 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)