#14711: Memleak when creating QuadraticField
-------------------------------------+-------------------------------------
       Reporter:  jpflori            |        Owner:  davidloeffler
           Type:  defect             |       Status:  needs_review
       Priority:  critical           |    Milestone:  sage-5.13
      Component:  number fields      |   Resolution:
       Keywords:  memleak, number    |    Merged in:
  field, QuadraticField              |    Reviewers:
        Authors:  Simon King         |  Work issues:  Fix elliptic curves
Report Upstream:  N/A                |  code
         Branch:                     |       Commit:
  u/SimonKing/ticket/14711           |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Here are the tests from #11900.

 In Commit:05fb569, I get
 {{{
 sage: E = J0(46).endomorphism_ring()
 sage: %time g = E.gens()
 CPU times: user 10.76 s, sys: 0.18 s, total: 10.93 s
 Wall time: 10.95 s
 sage: %time TestSuite(CrystalOfTableaux(['B',4],shape=[2,1,1,0])).run()
 CPU times: user 3.12 s, sys: 0.00 s, total: 3.12 s
 Wall time: 3.13 s
 sage: W.<z> = CyclotomicField(13)
 sage: %time M = Matrix(W, 2, 3, [10^30*(1-z)^13, 1, 2, 3, 4,
 z]).echelon_form()
 CPU times: user 2.28 s, sys: 0.02 s, total: 2.29 s
 Wall time: 2.30 s
 sage: %time L = EllipticCurve('960d1').prove_BSD()
 CPU times: user 4.80 s, sys: 0.04 s, total: 4.84 s
 Wall time: 4.85 s
 sage: def test(E):
 ....:     for p in prime_range(10000):
 ....:         if p != 389:
 ....:             G = E.change_ring(GF(p)).abelian_group()
 ....:
 sage: E = EllipticCurve('389a')
 sage: %time test(E)
 CPU times: user 31.56 s, sys: 0.09 s, total: 31.65 s
 Wall time: 31.70 s
 sage: %time for E in cremona_curves([11..100]): S =
 E.integral_points(both_signs=False)
 CPU times: user 21.96 s, sys: 0.06 s, total: 22.02 s
 Wall time: 22.07 s
 }}}

 In public/sage-git/master, I get
 {{{
 sage: E = J0(46).endomorphism_ring()
 sage: %time g = E.gens()
 CPU times: user 10.72 s, sys: 0.17 s, total: 10.90 s
 Wall time: 10.91 s
 sage: %time TestSuite(CrystalOfTableaux(['B',4],shape=[2,1,1,0])).run()
 CPU times: user 3.23 s, sys: 0.00 s, total: 3.23 s
 Wall time: 3.24 s
 sage: W.<z> = CyclotomicField(13)
 sage: %time M = Matrix(W, 2, 3, [10^30*(1-z)^13, 1, 2, 3, 4,
 z]).echelon_form()
 CPU times: user 2.21 s, sys: 0.02 s, total: 2.23 s
 Wall time: 2.23 s
 sage: %time L = EllipticCurve('960d1').prove_BSD()
 CPU times: user 5.27 s, sys: 0.04 s, total: 5.32 s
 Wall time: 5.32 s
 sage: def test(E):
 ....:    for p in prime_range(10000):
 ....:        if p != 389:
 ....:            G = E.change_ring(GF(p)).abelian_group()
 ....:
 sage: E = EllipticCurve('389a')
 sage: %time test(E)
 CPU times: user 32.06 s, sys: 0.11 s, total: 32.17 s
 Wall time: 32.22 s
 sage: %time for E in cremona_curves([11..100]): S =
 E.integral_points(both_signs=False)
 CPU times: user 22.11 s, sys: 0.07 s, total: 22.17 s
 }}}
 These tests have been found sensitive against slowness in category and
 coercion framework. So, the fact that there is not the faintest regression
 in these tests gives some confidence.

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