Change request #2310

Shorten ctools unit tests

Added by Knödlseder Jürgen almost 7 years ago. Updated over 6 years ago.

Status:ClosedStart date:02/12/2018
Priority:NormalDue 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)
cscripts:
  • 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 longest cscripts 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)
The longest 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.

Also available in: Atom PDF