1. is_net_fully_connected() is recursive, not iterative. Since C doesn't optimise tail calls, it means that on designs using very complex nets we might see stack exhaustion.
2. is_net_fully_connected() treats a netname attribute as a connection, but that's not reflected in the doxygen comments.
3. We allocate and build a hashtable for each and every net object in the entire design, every time we draw, which is rather expensive. Is there any way of optimising things so that the "fully connected" flag is only updated when a user modifies the design?
I have a few concerns with these patches.
1. is_net_ fully_connected () is recursive, not iterative. Since C doesn't optimise tail calls, it means that on designs using very complex nets we might see stack exhaustion.
2. is_net_ fully_connected () treats a netname attribute as a connection, but that's not reflected in the doxygen comments.
3. We allocate and build a hashtable for each and every net object in the entire design, every time we draw, which is rather expensive. Is there any way of optimising things so that the "fully connected" flag is only updated when a user modifies the design?
Thanks!