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

Pavan Kumar commented on GIRAPH-874:
------------------------------------

well as u can see, there is a lot of un-necessary code duplication between the 
classes. It could be abstracted out much nicely.
[~cmartella] pl commit it by verifying correctness for now.
it can be refactored later, 
I found a nice abstraction for GIRAPH-873 as well which looks much better than 
current implementation which is already committed.
So creating a task for future, I'll complete it when I find time.

> 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)

Reply via email to