import time import datetime from .Singleton import SingletonDecorator timerecord = {} class TimeCost: def __init__(self,name): self.name = name def __enter__(self): self.begin_time = time.time() def __exit__(self,*args): self.end_time = time.time() d = timerecord.get(self.name,[]) d.append(self.end_time - self.begin_time) timerecord[self.name] = d def clear(self): timerecord = {} @classmethod def clear_all(self): timerecord = {} @classmethod def clear(self, name): timerecord[name] = [] @classmethod def show(self): def getTimeCost(name): x = timerecord.get(name,[]) if len(x) == 0: return 0,0,0 return len(x), sum(x), sum(x)/len(x) print('TimeCost ....') for name in timerecord.keys(): print(name, * getTimeCost(name))