#17979: Reimplementation of IntegerListsLex
-------------------------------------+-------------------------------------
       Reporter:  aschilling         |        Owner:
           Type:  defect             |       Status:  needs_work
       Priority:  blocker            |    Milestone:  sage-6.6
      Component:  combinatorics      |   Resolution:
       Keywords:  days64             |    Merged in:
        Authors:  Bryan Gillespie,   |    Reviewers:
  Anne Schilling, Nicolas M. Thiery  |  Work issues:  support n in an
Report Upstream:  N/A                |  iterable
         Branch:                     |       Commit:
  public/ticket/17979                |  cb18ced22db714063e744bb907a035b4fe3afa24
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by bgillespie):

 Here are some comparative timings Re: the ones stripped from the docs.


 {{{
 sage: from sage.combinat.integer_list_old import IntegerListsLex as
 IntegerListsLexOld

 sage: P = IntegerListsLex(n=20, max_slope=0, floor=1)
 sage: %time x = list(P)
 CPU times: user 159 ms, sys: 25.8 ms, total: 185 ms
 Wall time: 164 ms
 sage: P = IntegerListsLexOld(n=20, max_slope=0, min_part=1)
 sage: %time x = list(P)
 CPU times: user 170 ms, sys: 12.9 ms, total: 183 ms
 Wall time: 162 ms

 sage: len(x)
 627

 sage: P = IntegerListsLex(n=30, max_slope=0, floor=1)
 sage: %time x = list(P)
 CPU times: user 1.74 s, sys: 21.9 ms, total: 1.76 s
 Wall time: 1.66 s
 sage: P = IntegerListsLexOld(n=30, max_slope=0, min_part=1)
 sage: %time x = list(P)
 CPU times: user 1.44 s, sys: 18.1 ms, total: 1.46 s
 Wall time: 1.42 s

 sage: len(x)
 5604

 sage: P = IntegerListsLex(n=40, max_slope=0, floor=1)
 sage: %time x = list(P)
 CPU times: user 12.8 s, sys: 0 ns, total: 12.8 s
 Wall time: 12.7 s
 sage: P = IntegerListsLexOld(n=40, max_slope=0, min_part=1)
 sage: %time x = list(P)
 CPU times: user 10.3 s, sys: 1.98 ms, total: 10.3 s
 Wall time: 10.3 s

 sage: len(x)
 37338

 sage: P = IntegerListsLex(n=50, max_slope=0, floor=1)
 sage: %time x = list(P)
 CPU times: user 1min 20s, sys: 216 ms, total: 1min 20s
 Wall time: 1min 20s
 sage: P = IntegerListsLexOld(n=50, max_slope=0, min_part=1)
 sage: %time x = list(P)
 CPU times: user 1min 1s, sys: 153 ms, total: 1min 2s
 Wall time: 1min 2s

 sage: len(x)
 204226

 sage: P = IntegerListsLex(n=60, max_slope=0, floor=1)
 sage: %time x = list(P)
 CPU times: user 7min 5s, sys: 823 ms, total: 7min 6s
 Wall time: 7min 5s
 sage: P = IntegerListsLexOld(n=60, max_slope=0, min_part=1)
 sage: %time x = list(P)
 CPU times: user 5min 12s, sys: 495 ms, total: 5min 12s
 Wall time: 5min 12s

 sage: len(x)
 966467
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/17979#comment:67>
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