From a763d572782abbd7bdc3979445566416568aca6d Mon Sep 17 00:00:00 2001 From: David Keitel <david.keitel@ligo.org> Date: Mon, 30 Apr 2018 16:02:28 +0100 Subject: [PATCH] internal timing of transient F-stat map function --- pyfstat/core.py | 2 +- pyfstat/grid_based_searches.py | 4 ++++ pyfstat/tcw_fstat_map_funcs.py | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pyfstat/core.py b/pyfstat/core.py index 4bf5ae1..a3b6b31 100755 --- a/pyfstat/core.py +++ b/pyfstat/core.py @@ -714,7 +714,7 @@ class ComputeFstat(BaseSearchClass): # actual (t0,tau) window was set with tstart, tend before self.windowRange.tau = int(tend - tstart) # TYPE UINT4 - self.FstatMap = tcw.call_compute_transient_fstat_map( + self.FstatMap, self.timingFstatMap = tcw.call_compute_transient_fstat_map( self.tCWFstatMapVersion, self.tCWFstatMapFeatures, self.FstatResults.multiFatoms[0], self.windowRange) if self.tCWFstatMapVersion == 'lal': diff --git a/pyfstat/grid_based_searches.py b/pyfstat/grid_based_searches.py index 3a2a4cd..df4c9d5 100644 --- a/pyfstat/grid_based_searches.py +++ b/pyfstat/grid_based_searches.py @@ -459,10 +459,12 @@ class TransientGridSearch(GridSearch): tCWfilebase = os.path.splitext(self.out_file)[0] + '_tCW_' logging.info('Will save per-Doppler Fstatmap' \ ' results to {}*.dat'.format(tCWfilebase)) + self.timingFstatMap = 0. for vals in tqdm(self.input_data): detstat = self.search.get_det_stat(*vals) windowRange = getattr(self.search, 'windowRange', None) FstatMap = getattr(self.search, 'FstatMap', None) + self.timingFstatMap += getattr(self.search, 'timingFstatMap', None) thisCand = list(vals) + [detstat] if getattr(self, 'transientWindowType', None): if self.tCWFstatMapVersion == 'lal': @@ -491,6 +493,8 @@ class TransientGridSearch(GridSearch): if self.outputAtoms: self.search.write_atoms_to_file(os.path.splitext(self.out_file)[0]) + logging.info('Total time spent computing transient F-stat maps: {:.2f}s'.format(self.timingFstatMap)) + data = np.array(data, dtype=np.float) if return_data: return data diff --git a/pyfstat/tcw_fstat_map_funcs.py b/pyfstat/tcw_fstat_map_funcs.py index 7d7728a..5a05cba 100644 --- a/pyfstat/tcw_fstat_map_funcs.py +++ b/pyfstat/tcw_fstat_map_funcs.py @@ -3,6 +3,7 @@ import numpy as np import os import logging +from time import time # optional imports import importlib as imp @@ -185,14 +186,16 @@ def call_compute_transient_fstat_map ( version, if version in fstatmap_versions: if features[version]: + time0 = time() FstatMap = fstatmap_versions[version](multiFstatAtoms, windowRange) + timingFstatMap = time()-time0 else: raise Exception('Required module(s) for transient F-stat map' \ ' method "{}" not available!'.format(version)) else: raise Exception('Transient F-stat map method "{}"' \ ' not implemented!'.format(version)) - return FstatMap + return FstatMap, timingFstatMap def reshape_FstatAtomsVector ( atomsVector ): -- GitLab