The extSubtree() routine cuts a layout into squares and extracts each separately, checking for subcell interactions. In each square it parses all labels looking for unconnected ones. This section of code not only parses all labels M x N times, but it then marks interaction areas where there may be none, forcing additional unnecessary processing. This commit makes the first quick optimization, which is to change the return value of DRCFindInteractions() from boolean to integer, allowing it to return a value indicating that there are no subcells in the area. This prevents the loop through labels from happening in cases where there can never be interactions. More to come. |
||
|---|---|---|
| .. | ||
| CmdAB.c | ||
| CmdAuto.c | ||
| CmdCD.c | ||
| CmdE.c | ||
| CmdFI.c | ||
| CmdLQ.c | ||
| CmdRS.c | ||
| CmdSubrs.c | ||
| CmdTZ.c | ||
| CmdWizard.c | ||
| Makefile | ||
| commands.h | ||