#10963: More functorial constructions
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  stumpc5
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.2
      Component:  categories         |   Resolution:
       Keywords:  days54             |    Merged in:
        Authors:  Nicolas M. Thiéry  |    Reviewers:  Simon King, Frédéric
Report Upstream:  N/A                |  Chapoton
         Branch:                     |  Work issues:
  public/ticket/10963-doc-           |       Commit:
  distributive                       |  1cdc128a85851dd007b3b77ec53a4853a10e1de4
   Dependencies:  #11224, #8327,     |     Stopgaps:
  #10193, #12895, #14516, #14722,    |
  #13589, #14471, #15069, #15094,    |
  #11688, #13394, #15150, #15506,    |
  #15757, #15759                     |
-------------------------------------+-------------------------------------

Comment (by nthiery):

 Replying to [comment:571 nbruin]:
 > There are some performance and leaking issues with the proposed code
 here. They
 > have been mentioned before, but they got swamped in more theoretical
 design
 > discussions. Consider for instance with sage 6.2.beta4:
 > {{{
 > ...
 > }}}
 > As you can see, much slower execution and much leakier behaviour (even
 without
 > the patch this kind of stuff is very liable to leak but as you can see,
 this
 > patch makes it much worse). Note that we have to sort types by their
 string
 > representation, because for each of these `..._with_category` types, the
 5000 instances are in fact unique types with identical print names. So the
 memory load is even higher (types are fairly heavy data structures). As
 you can see, categories are eternal (they get cached) and since they store
 a reference to their base, they nail the base ring in memory too. We'll
 have to merge this ticket together with a ticket that moves base ring
 references out of the categories, since the constructions introduced in
 this ticket make the problem urgent.

 Thanks much for the specific data and setup code to construct it.

 Yes, this is #15801 which we discussed earlier here and that I
 mentioned in the post on sage-devel. The fix is straightforward: move
 away from what was done in Axiom,MuPAD,... (it does not scale) and
 have those categories be indexed by the category of the base ring, not
 the base ring itself. The only thing is that this will probably
 require updating a bunch of doctests here and there, so I'd rather
 implement #15801 once this ticket is merged or at the very least
 guaranteed to be final so as not to have to spend a lot of time
 resolving conflicts.

 Cheers,
                            Nicolas

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