mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-10-06 09:53:00 +02:00
Found an extreme issue in "extresist" in which the algorithm spent
all of its time running area searches on zero-area rectangles, which was causing simple extractions to run hours. Checking for a zero area rectangle and conditionally skipping the area search resulted in a massive speed-up in parasitic extraction.
This commit is contained in:
@@ -855,10 +855,13 @@ dbcConnectLabelFunc(scx, lab, tpath, csa2)
|
||||
connectMask = &csa2->csa2_connect[slab->lab_type];
|
||||
|
||||
pNum = DBPlane(slab->lab_type);
|
||||
if (DBSrPaintArea((Tile *) NULL, def->cd_planes[pNum],
|
||||
|
||||
// Do *not* run this check on zero area labels
|
||||
if (!GEO_RECTNULL(&newarea))
|
||||
if (DBSrPaintArea((Tile *) NULL, def->cd_planes[pNum],
|
||||
&newarea, connectMask, dbcUnconnectFunc,
|
||||
(ClientData) NULL) == 1)
|
||||
continue;
|
||||
continue;
|
||||
|
||||
newarea.r_xbot--;
|
||||
newarea.r_xtop++;
|
||||
|
||||
Reference in New Issue
Block a user