diff options
author | InvincibleDude <81354513+InvincibleDude@users.noreply.github.com> | 2023-01-29 11:36:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-29 11:36:10 +0000 |
commit | ee3d63b6beb88e63542976a1095d4c8aa97388bd (patch) | |
tree | cf891130682c343107ae0a0f8cec309aea16807a /modules/timer.py | |
parent | 44c0e6b993d00bb2f441f0fde409bcb79136f034 (diff) | |
parent | 00dab8f10defbbda579a1bc89c8d4e972c58a20d (diff) | |
download | stable-diffusion-webui-gfx803-ee3d63b6beb88e63542976a1095d4c8aa97388bd.tar.gz stable-diffusion-webui-gfx803-ee3d63b6beb88e63542976a1095d4c8aa97388bd.tar.bz2 stable-diffusion-webui-gfx803-ee3d63b6beb88e63542976a1095d4c8aa97388bd.zip |
Merge branch 'master' into master
Diffstat (limited to 'modules/timer.py')
-rw-r--r-- | modules/timer.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/timer.py b/modules/timer.py new file mode 100644 index 00000000..57a4f17a --- /dev/null +++ b/modules/timer.py @@ -0,0 +1,35 @@ +import time
+
+
+class Timer:
+ def __init__(self):
+ self.start = time.time()
+ self.records = {}
+ self.total = 0
+
+ def elapsed(self):
+ end = time.time()
+ res = end - self.start
+ self.start = end
+ return res
+
+ def record(self, category, extra_time=0):
+ e = self.elapsed()
+ if category not in self.records:
+ self.records[category] = 0
+
+ self.records[category] += e + extra_time
+ self.total += e + extra_time
+
+ def summary(self):
+ res = f"{self.total:.1f}s"
+
+ additions = [x for x in self.records.items() if x[1] >= 0.1]
+ if not additions:
+ return res
+
+ res += " ("
+ res += ", ".join([f"{category}: {time_taken:.1f}s" for category, time_taken in additions])
+ res += ")"
+
+ return res
|