From b057cb1d06c48c5a566b0e138ae906229c7b6164 Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Mon, 11 Jun 2018 14:51:49 +1000
Subject: [PATCH] use datetime for time manipulation, add evaluation time to
 sampler

---
 tupak/core/sampler.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/tupak/core/sampler.py b/tupak/core/sampler.py
index a7850b96b..01342bc21 100644
--- a/tupak/core/sampler.py
+++ b/tupak/core/sampler.py
@@ -6,7 +6,7 @@ import os
 import sys
 import numpy as np
 import matplotlib.pyplot as plt
-import time
+import datetime
 
 from tupak.core.result import Result, read_in_result
 from tupak.core.prior import Prior
@@ -153,10 +153,10 @@ class Sampler(object):
             except AttributeError as e:
                 logging.warning('Cannot sample from {}, {}'.format(key, e))
         try:
-            t1 = time.time()
+            t1 = datetime.datetime.now()
             self.likelihood.log_likelihood()
             logging.info(
-                "Single likelihood eval. took {} s".format(time.time() - t1))
+                "Single likelihood eval. took {:.3e} s".format((datetime.datetime.now() - t1).total_seconds()))
         except TypeError as e:
             raise TypeError(
                 "Likelihood evaluation failed with message: \n'{}'\n"
@@ -578,11 +578,18 @@ def run_sampler(likelihood, priors=None, label='label', outdir='outdir',
             logging.info("Using cached result")
             return sampler.cached_result
 
+        start_time = datetime.datetime.now()
+
         if utils.command_line_args.test:
             result = sampler._run_test()
         else:
             result = sampler._run_external_sampler()
 
+        end_time = datetime.datetime.now()
+        result.sampling_time = (end_time - start_time).total_seconds()
+        logging.info('')
+        logging.info('Sampling time: {}'.format(end_time - start_time))
+
         if sampler.use_ratio:
             result.log_noise_evidence = likelihood.noise_log_likelihood()
             result.log_bayes_factor = result.log_evidence
-- 
GitLab