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

Alessandro Presta commented on GIRAPH-221:
------------------------------------------

Ok, then it's a trade-off between simplicity (Iterator) and syntactic sugar 
(Iterable). I have no strong opinion on this. Thoughts?

Additionally: are there huge performance benefits in having our edge iterator 
return I instead of Edge<I, E>? Avery mentioned there's already been some 
discussion on this, so I don't want to bring up old arguments, but it would be 
interesting to know pros and cons if someone has already gone through this.
Personally I think that would be another little improvement in clarity (calling 
something an edge when it's actually a vertex id is also misleading).
                
> Make iteration over edges more explicit
> ---------------------------------------
>
>                 Key: GIRAPH-221
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-221
>             Project: Giraph
>          Issue Type: Improvement
>          Components: graph
>            Reporter: Alessandro Presta
>            Assignee: Alessandro Presta
>            Priority: Minor
>
> Is there any particular reason why BasicVertex implements Iterable?
> It seems to me that doing
> {code:java}
> for (I neighbor : vertex)
> {code}
> is not that explicit, and
> {code:java}
> for (I neighbor : this)
> {code}
> gets even obscure (which may be why all examples in the codebase explicitly 
> instantiate an iterator and call next()).
> What I propose is a more explicit
> {code:java}
> Iterator<I> outEdgesIterator()
> {code}
> and also a convenient
> {code:java}
> Iterable<I> outEdges()
> {code}
> so, for example, an algorithm can use
> {code:java}
> for (IntWritable neighbor : outEdges())
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to