[jboss-jira] [JBoss JIRA] Updated: (JBCOMMON-111) Graph#addEdge() micro optimization

Ondrej Žižka (JIRA) jira-events at lists.jboss.org
Wed Aug 18 13:07:12 EDT 2010


     [ https://jira.jboss.org/browse/JBCOMMON-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ondrej Žižka updated JBCOMMON-111:
----------------------------------

    Affects Version/s:  2.2.17.GA
                           (was:  2.2.16.GA)


> Graph#addEdge() micro optimization
> ----------------------------------
>
>                 Key: JBCOMMON-111
>                 URL: https://jira.jboss.org/browse/JBCOMMON-111
>             Project: JBoss Common
>          Issue Type: Quality Risk
>      Security Level: Public(Everyone can see) 
>    Affects Versions:  2.2.17.GA
>            Reporter: Ondrej Žižka
>            Assignee: Dimitris Andreadis
>            Priority: Trivial
>
>   class Graph: 
>   public boolean addEdge(Vertex<T> from, Vertex<T> to, int cost)   {
>         ...
>          from.addEdge(e);
>          to.addEdge(e);
>          edges.add(e);
>    }
>   class Vertex: 
>    public boolean addEdge(Edge<T> e)  {
>       if (e.getFrom() == this)
>          outgoingEdges.add(e);
>       else if (e.getTo() == this)
>          incomingEdges.add(e);
>       else 
>          return false;
>       return true;
>    }
> Since the method knows the direction of the edge, why not use this knowledge and avoid unnecessary vertex comparion in Vertex#addEdge() ?
>   public boolean addEdge(Vertex<T> from, Vertex<T> to, int cost)   {
>         ...
>          from.addOutgoingEdge(e, cost);
>          to.addIncomingEdge(e, cost);
>          edges.add(e);
>    }
>  addOutgoingEdge and addIncomingEdge do something else -- they create a new edge, which is a bit unintuitive, I'd call them createOutgoingEdge() -- but I hope it's clear what I mean.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the jboss-jira mailing list