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

MaoYuan Xian commented on HAMA-761:
-----------------------------------

Since GraphJobMessage only needs VertexId when does the comparation 
(VertexValue is useless), I define a special comparator for GraphJobMessage, 
which skips the deserialize operation of VertexValue when does the comparatioin.
In real project, size of VertexId:VertextValue is about 1:3, after this 
modification, I can gain about 30% performance enhancement.

I push the modifications to 
https://github.com/kennethxian/hama/commit/045408e316e9757364fae49fdeafb544b4b2d829
Is is useful, please give some comments.
                
> Improvement for GraphJobMessage comparation operation
> -----------------------------------------------------
>
>                 Key: HAMA-761
>                 URL: https://issues.apache.org/jira/browse/HAMA-761
>             Project: Hama
>          Issue Type: Improvement
>          Components: graph
>    Affects Versions: 0.6.1
>            Reporter: MaoYuan Xian
>            Assignee: MaoYuan Xian
>
> Currently, GraphJobMessage comparation opertion depends on the default 
> comparator (org.apache.hadoop.io.WritableComparator used), which has to read 
> out all GraphJobMessage message (including vertexId and vertexValue) when 
> does the comparation. 
> Since lots of comparation operations happen in graph computing, this 
> limitation makes a performance downgrade.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to