Added information about diffusion and total execution time (#463)
diff --git a/modules/async_worker.py b/modules/async_worker.py
index 379b2c88e..5eebd02dc 100644
--- a/modules/async_worker.py
+++ b/modules/async_worker.py
@@ -336,6 +336,8 @@ def callback(step, x0, x, total_steps, y):
         outputs.append(['preview', (13, 'Starting tasks ...', None)])
         for current_task_id, task in enumerate(tasks):
             try:
+                execution_start_time = time.perf_counter()
+
                 imgs = pipeline.process_diffusion(
                     positive_cond=task['c'],
                     negative_cond=task['uc'],
@@ -353,6 +355,9 @@ def callback(step, x0, x, total_steps, y):
                 if inpaint_worker.current_task is not None:
                     imgs = [inpaint_worker.current_task.post_process(x) for x in imgs]
 
+                execution_time = time.perf_counter() - execution_start_time
+                print(f'Diffusion time: {execution_time:.2f} seconds')
+
                 for x in imgs:
                     d = [
                         ('Prompt', raw_prompt),
diff --git a/webui.py b/webui.py
index d72c1fa0a..7519784b6 100644
--- a/webui.py
+++ b/webui.py
@@ -15,6 +15,8 @@
 
 
 def generate_clicked(*args):
+    execution_start_time = time.perf_counter()
+
     yield gr.update(visible=True, value=modules.html.make_progress_html(1, 'Initializing ...')), \
         gr.update(visible=True, value=None), \
         gr.update(visible=False)
@@ -36,6 +38,9 @@ def generate_clicked(*args):
                     gr.update(visible=False), \
                     gr.update(visible=True, value=product)
                 finished = True
+
+    execution_time = time.perf_counter() - execution_start_time
+    print(f'Total time: {execution_time:.2f} seconds')
     return
 
 

Fix proposal for issue #463.
