mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-20 16:43:45 +08:00
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.
This commit is contained in:
parent
593be209a4
commit
6e5700aad0
14
server.py
14
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user