From 6e5700aad087a0bf1b914b6a158973d9e1ce1280 Mon Sep 17 00:00:00 2001 From: V1sionVerse <155375712+V1sionVerse@users.noreply.github.com> Date: Mon, 16 Mar 2026 09:23:02 +0100 Subject: [PATCH 1/3] Improved performance of image_upload() in server.py Added a cheap file size comparison before the expensive file hash comparison. This should considerably improve average-case performance. --- server.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server.py b/server.py index 85a8964be..a8dc4a7d5 100644 --- a/server.py +++ b/server.py @@ -403,11 +403,19 @@ class PromptServer(): if overwrite is not None and (overwrite == "true" or overwrite == "1"): pass else: + # Get uploaded file size once + image.file.seek(0, 2) # Seek to end + uploaded_size = image.file.tell() + image.file.seek(0) # Reset to beginning + i = 1 while os.path.exists(filepath): - if compare_image_hash(filepath, image): #compare hash to prevent saving of duplicates with same name, fix for #3465 - image_is_duplicate = True - break + # Quick size comparison first + existing_size = os.path.getsize(filepath) + if existing_size == uploaded_size: + if compare_image_hash(filepath, image): #compare hash to prevent saving of duplicates with same name, fix for #3465 + image_is_duplicate = True + break filename = f"{split[0]} ({i}){split[1]}" filepath = os.path.join(full_output_folder, filename) i += 1 From 9ef776b689b8c9fbb89d0b730b5168402f9ecbaa Mon Sep 17 00:00:00 2001 From: V1sionVerse <155375712+V1sionVerse@users.noreply.github.com> Date: Tue, 17 Mar 2026 16:31:12 +0100 Subject: [PATCH 2/3] Removed trailing whitespace --- server.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server.py b/server.py index 4d4ea600c..29252512f 100644 --- a/server.py +++ b/server.py @@ -405,15 +405,15 @@ class PromptServer(): if overwrite is not None and (overwrite == "true" or overwrite == "1"): pass else: - # Get uploaded file size once - image.file.seek(0, 2) # Seek to end - uploaded_size = image.file.tell() - image.file.seek(0) # Reset to beginning + # Get uploaded file size once + image.file.seek(0, 2) # Seek to end + uploaded_size = image.file.tell() + image.file.seek(0) # Reset to beginning i = 1 while os.path.exists(filepath): - # Quick size comparison first - existing_size = os.path.getsize(filepath) + # Quick size comparison first + existing_size = os.path.getsize(filepath) if existing_size == uploaded_size: if compare_image_hash(filepath, image): #compare hash to prevent saving of duplicates with same name, fix for #3465 image_is_duplicate = True From e50a36e05cd6ec2c421a8d2d2fa6ac0b848d1c12 Mon Sep 17 00:00:00 2001 From: V1sionVerse <155375712+V1sionVerse@users.noreply.github.com> Date: Tue, 17 Mar 2026 16:36:29 +0100 Subject: [PATCH 3/3] Removed whitespace from blank line --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 29252512f..eb8e1aa56 100644 --- a/server.py +++ b/server.py @@ -409,7 +409,7 @@ class PromptServer(): image.file.seek(0, 2) # Seek to end uploaded_size = image.file.tell() image.file.seek(0) # Reset to beginning - + i = 1 while os.path.exists(filepath): # Quick size comparison first