#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.