Skip to content

Fixing the issue of connections forming loops between nodes#70

Open
hxdnshx wants to merge 1 commit intonkchocoai:masterfrom
hxdnshx:hxdnshx-patch-1
Open

Fixing the issue of connections forming loops between nodes#70
hxdnshx wants to merge 1 commit intonkchocoai:masterfrom
hxdnshx:hxdnshx-patch-1

Conversation

@hxdnshx
Copy link

@hxdnshx hxdnshx commented Apr 6, 2025

Recently, I've been attempting to use SaveImageWithMetaData in some very complex workflows. Honestly, it's excellent for populating metadata.

However, during my recent run, I noticed the waiting time was extremely long. After examining it with a debugger, I found it frequently pausing in the trace.py trace() function.
image
Specifically, I discovered that the total size of Q reached over 100,000, while my workflow had fewer than 2,000 nodes total. Therefore, I initially assessed that the traverse operation wasn't performing deduplication, causing some nodes to be calculated multiple times. In this MR, I attempted to implement deduplication to prevent nodes from being recalculated.

After the modification, the overall runtime decreased from 280 seconds to infinity, to under 1 minute. And the output metadata appears to be correct.

@hxdnshx hxdnshx changed the title fix recursive node visit. Fixing the issue of connections forming loops between nodes Apr 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant