Opened 5 years ago
Closed 5 years ago
#23284 closed defect (fixed)
Testing padic_base_leaves.py takes a VERY long time
Reported by:  Jeroen Demeyer  Owned by:  

Priority:  major  Milestone:  sage8.0 
Component:  padics  Keywords:  
Cc:  David Roe, Julian Rüth  Merged in:  
Authors:  David Roe  Reviewers:  Jeroen Demeyer 
Report Upstream:  N/A  Work issues:  
Branch:  748b68c (Commits, GitHub, GitLab)  Commit:  748b68cc2154ebc8cd77df63e491074f9be4a2ab 
Dependencies:  Stopgaps: 
Description (last modified by )
On a particular server, doing the long doctests of src/sage/rings/padics/padic_base_leaves.py
:
 Sage 8.0.beta9:
[142 tests, 202.82 s]
 Sage 8.0.beta10:
[191 tests, 626.31 s]
The test time in Sage 8.0.beta10 is simply too much (but the number of tests has increased since 8.0.beta9, so this is probably not a regression). This is a problem because it leads to timeouts when running doctests.
Change History (28)
comment:1 Changed 5 years ago by
Description:  modified (diff) 

comment:3 Changed 5 years ago by
The main thing to check is whether this is a regression or not. I plan to test some older versions of Sage.
comment:4 Changed 5 years ago by
Could there be something in there which calls the optional spkg normaliz
? It does not like to be run in parallel because of its own parallelization. I ran across this and have a post about it on sagedevel.
comment:5 Changed 5 years ago by
Description:  modified (diff) 

comment:6 Changed 5 years ago by
Description:  modified (diff) 

comment:7 Changed 5 years ago by
Description:  modified (diff) 

comment:8 Changed 5 years ago by
Description:  modified (diff) 

comment:9 Changed 5 years ago by
Description:  modified (diff) 

comment:10 Changed 5 years ago by
I understand where some of these changes are coming from. I'll take a look next week (no internet over the weekend).
comment:11 Changed 5 years ago by
Yikes, 343 seconds on my Mac laptop too (with nothing else going on).
comment:12 Changed 5 years ago by
Description:  modified (diff) 

I investigated the first regression and it is due to MPIR3.0.0: #23327
I will change this ticket to be only about the second issue: the large absolute time taken by testing padic_base_leaves.py
comment:13 Changed 5 years ago by
Branch:  → u/roed/testing_padic_base_leaves_py_takes_a_very_long_time 

comment:14 Changed 5 years ago by
Commit:  → 8ce532e123d180e6bc5e0ad0647ec582684c49f1 

Branch pushed to git repo; I updated commit sha1. New commits:
8ce532e  Make long tests in padic_base_leaves.py shorter, add documentation for timings options to unit test code

comment:15 Changed 5 years ago by
Authors:  → David Roe 

Status:  new → needs_review 
These changes drop the long tests from 256s
to 37s
.
comment:16 followups: 22 27 Changed 5 years ago by
How are the changes in src/sage/misc/sage_unittest.py
related to this ticket? If they are not, please create a new ticket for that change.
comment:17 Changed 5 years ago by
Some more tests should be marked # long time
, in particular on lines 244, 246, 336, 431.
comment:18 Changed 5 years ago by
Status:  needs_review → needs_work 

comment:19 followup: 23 Changed 5 years ago by
Why do you need separate runs of TestSuite
here?
sage: TestSuite(R).run() sage: TestSuite(R).run(elements = [R.random_element() for i in range(2^10)], max_runs = 2^12, skip='_test_metric') # long time sage: R._test_metric(elements = [R.random_element() for i in range(2^3)]) # long time
Why is TestSuite(R).run()
not sufficient?
(This is just a question, there might be a good reason)
comment:20 Changed 5 years ago by
Doctesting 1 file. sage t long src/sage/rings/padics/padic_base_leaves.py [209 tests, 49.45 s]  All tests passed!  Total time for all tests: 49.6 seconds cpu time: 44.5 seconds cumulative wall time: 49.5 seconds
comment:21 Changed 5 years ago by
Commit:  8ce532e123d180e6bc5e0ad0647ec582684c49f1 → 748b68cc2154ebc8cd77df63e491074f9be4a2ab 

comment:22 Changed 5 years ago by
Replying to jdemeyer:
How are the changes in
src/sage/misc/sage_unittest.py
related to this ticket? If they are not, please create a new ticket for that change.
They got accidentally included. I've removed them.
comment:23 Changed 5 years ago by
Replying to jdemeyer:
Why do you need separate runs of
TestSuite
here?sage: TestSuite(R).run() sage: TestSuite(R).run(elements = [R.random_element() for i in range(2^10)], max_runs = 2^12, skip='_test_metric') # long time sage: R._test_metric(elements = [R.random_element() for i in range(2^3)]) # long timeWhy is
TestSuite(R).run()
not sufficient?(This is just a question, there might be a good reason)
Just want tests with random elements, not just the ones returned by some_elements
, which may not reveal problems.
comment:24 Changed 5 years ago by
Status:  needs_work → needs_review 

I've added a few # long time
tags.
comment:25 Changed 5 years ago by
Priority:  blocker → major 

comment:26 Changed 5 years ago by
Reviewers:  → Jeroen Demeyer 

Status:  needs_review → positive_review 
Blocker or not, it would be good to merge this quickly.
comment:27 Changed 5 years ago by
comment:28 Changed 5 years ago by
Branch:  u/roed/testing_padic_base_leaves_py_takes_a_very_long_time → 748b68cc2154ebc8cd77df63e491074f9be4a2ab 

Resolution:  → fixed 
Status:  positive_review → closed 
For me, on a Dell Optiplex 9020.
[191 tests, 304.13 s]
With many slow
TestSuite(R).run()