#11900: Serious regression caused by #9138
-----------------------------------------------------------------------------------------------+
Reporter: SimonKing
| Owner: tbd
Type: defect
| Status: needs_work
Priority: major
| Milestone: sage-4.7.3
Component: performance
| Keywords: categories regression
Work_issues: fiy doctests, fix categories for polynomial rings, improve
all_super_categories | Upstream: N/A
Reviewer:
| Author: Simon King
Merged:
| Dependencies: #9138
-----------------------------------------------------------------------------------------------+
Comment(by SimonKing):
Replying to [comment:45 SimonKing]:
> I still see much time spent in `all_super_categories`. I just found that
`self.all_super_categores()` does ''not'' start with
`C.all_super_categories()` for C in `self.super_categories()`. That is
certainly not very efficient, because it is effectively computing
`C.all_supercategories()` repeatedly.
Indeed, it can be improved. And then, the benchmark finally becomes
{{{
sage: %time L = EllipticCurve('960d1').prove_BSD()
CPU times: user 3.60 s, sys: 0.11 s, total: 3.71 s
Wall time: 4.02 s
}}}
__Conclusion__
I will not change the order of all_super_categories, and I will not unify
the parent classes of different categories - that shall be on a separate
ticket.
However, I will
* make libsingular polynomial rings use the new coercion framework,
* avoid the construction of a coercion from the base ring at
initialisation of matrix spaces and polynomial rings,
* create an external function for choosing the category of a polynomial
ring, avoiding the overhead of the `join()` method,
* add parent methods that provide a faster way of determining algebraic
structures than the classical `P in CommutativeRings()`
* improve the performance of `all_super_categories()`.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11900#comment:46>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.