diff options
author | Spaceginner <ivan.demian2009@gmail.com> | 2023-01-27 12:35:54 +0000 |
---|---|---|
committer | Spaceginner <ivan.demian2009@gmail.com> | 2023-01-27 12:35:54 +0000 |
commit | 56c83e453a2ac333a0888ab3835ad4c82feacc25 (patch) | |
tree | bf7090e3b8faf0ab02e3fe5bd43ac1cde2dc62dc /modules/timer.py | |
parent | 9ecf1e827c5966e11495a0c066a127defbba9bcc (diff) | |
parent | 63391419c11c1749a3d83dade19235a836c509f9 (diff) | |
download | stable-diffusion-webui-gfx803-56c83e453a2ac333a0888ab3835ad4c82feacc25.tar.gz stable-diffusion-webui-gfx803-56c83e453a2ac333a0888ab3835ad4c82feacc25.tar.bz2 stable-diffusion-webui-gfx803-56c83e453a2ac333a0888ab3835ad4c82feacc25.zip |
Merge remote-tracking branch 'origin/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
|