Change request #2310
Shorten ctools unit tests
Status: | Closed | Start date: | 02/12/2018 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assigned To: | Knödlseder Jürgen | % Done: | 100% | |
Category: | - | |||
Target version: | 1.6.0 | |||
Duration: |
Description
The ctools unit tests are now quite long, and should be shortened for a more efficient testing. This may imply that some GammaLib methods need to be accelerated. Below a list of unit tests that need special attention (times are for CentOS 6):
ctools:- cterror (34 s)
- ctobssim (1 min 5s)
- pipeline (16 s)
- cslightcrv (32 s)
- csphagen (33 s)
- csphasecrv (1 min 51 s)
- cspull (31 s)
- csresspec (1 min 33 s)
- csspec (37 s)
- cstsdist (36 s)
- csworkflow (33 s)
Recurrence
No recurrence.
History
#1 Updated by Knödlseder Jürgen over 6 years ago
- Status changed from New to In Progress
- Assigned To set to Knödlseder Jürgen
Before reworking the unit tests, here the benchmark on CentOS 6:
- Examples: 15 s
- cscripts: 16 mn
- ctools: 3 mn 54 s
#2 Updated by Knödlseder Jürgen over 6 years ago
- % Done changed from 0 to 10
After reducing the energy range in some
csripts
unit tests to 1-100 TeV and minimizing the number of bins, the following results are achieved:
- Examples: 17 s (nothing changed, i.e. change reflects uncertainty of timing measurement)
- cscripts: 10 mn
- ctools: 4 mn 23 s (nothing changed, i.e. change reflects uncertainty of timing measurement)
The unit test time was reduced from 16 minutes to 10 minutes, the full duration of the integration pipeline went from 56 min to 44 min.
#3 Updated by Knödlseder Jürgen over 6 years ago
- % Done changed from 10 to 50
I generated a shorter event list and a smaller counts cube and reduced the energy range and the cube dimension in the unit tests. Now the following results are achieved:
- Examples: 17 s
- cscripts: 7 mn 18 s
- ctools: 3 mn 29 s
The full duration of the integration pipeline went from 56 min to 36 min.
The longestcscripts
tests are now (CentOS 6 benchmarks):
- cstsdist from Python in unbinned mode (1 mn 8 s)
- csworkflow from Python (40 s)
- cslightcrv from Python (38 s)
- cstsdist on command line (38 s)
- cstsdist pickeling (34 s)
- csspec from Python (30 s)
- csworkflow on command line (23 s)
- csspec pickeling (20 s)
- csphasecrv from Python (18 s)
- csspec on command line (15 s)
- csphagen from Python (15 s)
- cslightcrv on command line (12 s)
- csiactobs from Python (11 s)
- cslightcrv pickeling (11 s)
ctools
tests are now (CentOS 6 benchmarks):
- ctobssim from Python (1 mn 5 s)
- cterror from Python (43 s)
- unbinned pipeline with FITS file saving (18 s)
- ctobssim on command line (16 s)
- unbinned in-memory pipeline (16 s)
- cterror on command line (12 s)
- ctulimit from Python (12 s)
- cttsmap on command line (10 s)
#4 Updated by Knödlseder Jürgen over 6 years ago
- Status changed from In Progress to Closed
- % Done changed from 50 to 100
After some final tweaking, the following timing is obtained on CentOS 6:
- Examples: 14 s
- cscripts: 6 mn 54 s
- ctools: 3 mn 24 s
The total duration of the integration job took 33 minutes.