#10963: More functorial constructions
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  stumpc5
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:
      Component:  categories         |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Nicolas M. ThiƩry  |    Reviewers:  Simon King
Report Upstream:  N/A                |  Work issues:  Reduce startup time
         Branch:                     |  by 5%. Avoid "recursion depth
   Dependencies:  #11224, #8327,     |  exceeded (ignored)".
  #10193, #12895, #14516, #14722,    |       Commit:
  #13589, #14471                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Note that for the join, we are using a `WeakValueDictionary`, and with
 your patch we are making increased use of joins. Could this be the source
 of trouble?

 But to my surprise, with a `WeakValueDictionary`, one can not get the same
 error (here, of course, we need to delete the first value, not the first
 key):
 {{{
 sage: class A: pass
 sage: M = weakref.WeakValueDictionary()
 sage: a = A()
 ....: prev = a
 ....: for i in range(1000):
 ....:     newA = A()
 ....:     M[newA] = prev
 ....:     prev = newA
 ....:
 sage: len(M)
 1000
 sage: del a
 sage: len(M)
 0
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:95>
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/groups/opt_out.

Reply via email to