#6637: standardize the interface to TransitiveIdeal and friends
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  mhansen
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  combinatorics      |   Resolution:
       Keywords:  backtrack,         |    Merged in:
  enumerated set, transitive         |    Reviewers:  Travis Scrimshaw
  closure, days57                    |  Work issues:
        Authors:  Sébastien Labbé    |       Commit:
Report Upstream:  N/A                |  d8b942bf45c05f4df5fe093b0b63ac63e7127db6
         Branch:                     |     Stopgaps:
  public/ticket/6637                 |
   Dependencies:  #14052             |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'S\xe9bastien Labb\xe9', 'oldvalue': ''}):

 * reviewer:   => Travis Scrimshaw
 * commit:  766a1b0d7a09c8d9597308592db9543145e61751 =>
     d8b942bf45c05f4df5fe093b0b63ac63e7127db6
 * branch:  u/slabbe/6637 => public/ticket/6637
 * author:   => Sébastien Labbé


Comment:

 Some more speedup by doing some more cythonization. Before:
 {{{
 sage: f = lambda a: [a-1,a+1]
 sage: C = RecursivelyEnumeratedSet([10, 15], f, structure='symmetric')
 sage: it = iter(C)
 sage: %time L = [next(it) for _ in xrange(10^6)]
 CPU times: user 9.68 s, sys: 147 ms, total: 9.83 s
 Wall time: 9.81 s
 }}}
 With my commit:
 {{{
 sage: f = lambda a: [a-1,a+1]
 sage: C = RecursivelyEnumeratedSet([10, 15], f, structure='symmetric')
 sage: it = iter(C)
 sage: %time L = [next(it) for _ in xrange(10^6)]
 CPU times: user 8.02 s, sys: 103 ms, total: 8.13 s
 Wall time: 8.15 s
 }}}
 I'm sure I haven't done the best cythonization job on this, but it works
 and all tests pass. If you're happy with my changes, then positive review.
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=0d592cea682de0af1f8363c9aaddaa3d2d7b5fad
 0d592ce]||{{{Merge branch 'u/slabbe/6637' of trac.sagemath.org:sage into
 public/ticket/6637}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=f200525ea0e709b8cde3233a18fd67c994ad7db5
 f200525]||{{{More cythonization.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=72f5bf6ae7d52618f0dd81dafae7f62199611d07
 72f5bf6]||{{{Merge branch 'u/slabbe/6637' of trac.sagemath.org:sage into
 public/ticket/6637}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=df40815e7751130fa5359fc7110a22779d91b425
 df40815]||{{{Some tweaks in the cythonization.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=e68a15f2d5236872aeda5855acfb7ee0895f558d
 e68a15f]||{{{Fixed pickling issue.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=d8b942bf45c05f4df5fe093b0b63ac63e7127db6
 d8b942b]||{{{Some other potential cython speedups.}}}||

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