>
>
> Indeed. 
>
> sage -t --long --warn-long 75.4 src/sage/rings/function_field/
> function_field.py
> **********************************************************************
> File "src/sage/rings/function_field/function_field.py", line 69, in sage.
> rings.function_field.function_field
> Warning, slow doctest:
>     TestSuite(M).run()  # long time (52s on sage.math, 2012)
> Test ran for 194.71 s
>     [457 tests, 251.53 s]
> ----------------------------------------------------------------------
> All tests passed!
> ----------------------------------------------------------------------
> Total time for all tests: 251.7 seconds
>     cpu time: 249.2 seconds
>     cumulative wall time: 251.5 seconds
>
> No doctest should take more than 30 seconds, according to the developer 
> guide. Hence these long tests should be deleted.
>

Has someone checked to see if there has been a serious performance 
regression on that test over the past few beta versions?

However, I do not think we should remove the doctest. From looking at the 
TestSuite run, the _test_derivation() took, by far, the longest amount of 
time. So a good method going forward would be to skip that test (similar to 
the following 2 doctests) and then run that specific test on a smaller set 
of elements (some_elements() returns 58 of them, so that is 58^2 = 3364 
over , maybe 4 or 5:

sage: %time M._test_derivation(elements=M.some_elements()[:5])
CPU times: user 2.3 s, sys: 24 ms, total: 2.32 s
Wall time: 2.26 s sage: S = M.some_elements()
sage: S = M.some_elements()
sage: %time M._test_derivation(elements=S[:5])
CPU times: user 1.32 s, sys: 12 ms, total: 1.34 s
Wall time: 1.29 s

>From looking at %prun, about 1/3 of the time is spent within the method 
maps.py:217(_call_), which is accumulating the C/cython function calls, and 
about half of the time is in

{method 'map_coefficients' of 
'sage.rings.polynomial.polynomial_element.Polynomial' objects}

and subfunction calls. I would say a better solution would include 
improving Polynomial.map_coefficients(). It probably would benefit from 
more specialized implementations, specifically sparse and dense 
implementations, as well as cythonization.

Best,
Travis

-- 
You received this message because you are subscribed to the Google Groups 
"sage-release" 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 https://groups.google.com/group/sage-release.
For more options, visit https://groups.google.com/d/optout.

Reply via email to