diff --git a/pyfstat/core.py b/pyfstat/core.py index 4bf5ae16fadfe825bfe50747e75590c8cd6303d0..a3b6b310495703b4e29fc8d46d6e4ba6c9b07dc2 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 3a2a4cdd6e9a62ba89a010bb18e1154e7440609e..df4c9d5b5ebb93acd1f2d6251bef644f7d167fca 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 7d7728a7fd00769de516193309fc97ea69afb9bc..5a05cba50fb8a4e2b38f0ddd131c90fa5ef65590 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 ):