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:
parent
68d6632836
commit
f1e60fe8b1
|
|
@ -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++;
|
||||
|
|
|
|||
Loading…
Reference in New Issue