You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
781 B
33 lines
781 B
5 years ago
|
import numpy as np
|
||
|
|
||
|
from . import utils
|
||
|
|
||
|
class StopWatch(utils.StopWatch):
|
||
|
def __del__(self):
|
||
|
print('='*80)
|
||
|
print('gtimer:')
|
||
|
total = ', '.join(['%s: %f[s]' % (k,v) for k,v in self.get(reduce=np.sum).items()])
|
||
|
print(f' [total] {total}')
|
||
|
mean = ', '.join(['%s: %f[s]' % (k,v) for k,v in self.get(reduce=np.mean).items()])
|
||
|
print(f' [mean] {mean}')
|
||
|
median = ', '.join(['%s: %f[s]' % (k,v) for k,v in self.get(reduce=np.median).items()])
|
||
|
print(f' [median] {median}')
|
||
|
print('='*80)
|
||
|
|
||
|
GTIMER = StopWatch()
|
||
|
|
||
|
def start(name):
|
||
|
GTIMER.start(name)
|
||
|
def stop(name):
|
||
|
GTIMER.stop(name)
|
||
|
|
||
|
class Ctx(object):
|
||
|
def __init__(self, name):
|
||
|
self.name = name
|
||
|
|
||
|
def __enter__(self):
|
||
|
start(self.name)
|
||
|
|
||
|
def __exit__(self, *args):
|
||
|
stop(self.name)
|