#15978: Waste of time in g.edges() (acually in iterator_edges)
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:
  ncohen                 |       Status:  needs_review
           Type:         |    Milestone:  sage-6.2
  enhancement            |   Resolution:
       Priority:  major  |    Merged in:
      Component:  graph  |    Reviewers:
  theory                 |  Work issues:
       Keywords:         |       Commit:
        Authors:         |  768a63ea1d24e569a254f99b01b1f4c568198bc9
  Nathann Cohen          |     Stopgaps:
Report Upstream:  N/A    |
         Branch:         |
  u/ncohen/15978         |
   Dependencies:         |
-------------------------+-------------------------------------------------
Description changed by ncohen:

Old description:

> Jernej reported that Sage took <a lifetime> to enumerate the edges of an
> important graph of his. There was actually a comment in the source code
> which I left then forgot, saying that this particular block of code was
> totally awful.
>
> Was.
>
> With the latest release :
>
> {{{
> sage: %time _ = g.edges()
> CPU times: user 1min 24s, sys: 8 ms, total: 1min 24s
> Wall time: 1min 24s
> }}}
>
> With this branch :
>
> {{{
> sage: g = graphs.CompleteGraph(3000)
> sage: %time _ = g.to_dictionary()
> CPU times: user 1.38 s, sys: 0 ns, total: 1.38 s
> Wall time: 1.37 s
> sage: %time _ = g.edges()
> CPU times: user 6.88 s, sys: 0 ns, total: 6.88 s
> Wall time: 6.88 s
> }}}
>
> Which still does not make any sense.
>
> Nathann

New description:

 Jernej reported that Sage took <a lifetime> to enumerate the edges of an
 important graph of his. There was actually a comment in the source code
 which I left then forgot, saying that this particular block of code was
 totally awful.

 Was.

 With the latest release :

 {{{
 sage: g = graphs.CompleteGraph(3000)
 sage: %time _ = g.to_dictionary()
 CPU times: user 1.38 s, sys: 0 ns, total: 1.38 s
 Wall time: 1.37 s
 sage: %time _ = g.edges()
 CPU times: user 1min 24s, sys: 8 ms, total: 1min 24s
 Wall time: 1min 24s
 }}}

 With this branch :

 {{{
 sage: g = graphs.CompleteGraph(3000)
 sage: %time _ = g.to_dictionary()
 CPU times: user 1.38 s, sys: 0 ns, total: 1.38 s
 Wall time: 1.37 s
 sage: %time _ = g.edges()
 CPU times: user 6.88 s, sys: 0 ns, total: 6.88 s
 Wall time: 6.88 s
 }}}

 Which still does not make any sense.

 Nathann

--

--
Ticket URL: <http://trac.sagemath.org/ticket/15978#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to