sketch-model-3 / sequential_timer.py
MarkZakelj's picture
style lora fusion with character lora
dec981f
from time import perf_counter
class SequentialTimer:
def __init__(self, make_print=False):
self.timings = []
self.make_print = make_print
def time(self, message: str):
if self.make_print:
print(message)
self.timings.append((perf_counter(), message))
def to_str(self) -> str:
s = ""
if len(self.timings) <= 1:
s = "No timings"
return s
t0 = self.timings[0][0]
for ((t1, m1), (t2, _)) in zip(self.timings, self.timings[1:]):
s += f"TIME: step: {t2 - t1:06.3f} | cum {t2 - t0:06.3f} - {m1}\n"
s += f"ALL TIME: {self.timings[-1][0] - self.timings[0][0]:07.3f}\n"
return s
def printall(self):
print(self.to_str())