Skip to content

Slow merging of polygons from width check edge pairs #1366

@tvt173

Description

@tvt173

Hi @klayoutmatthias ,

I was running into a performance issue on a large layout running a width check, and then using the resultant polygons formed from the edge pairs (essentially I want to check if other polygons are within those polygons or not).

At first, I thought this may be an issue with the width check itself, but after breaking it down, I found that the width check is actually very fast. Transforming the edge-pairs into polygons is also very fast. But merging the resulting polygons took a huge amount of RAM and took hours to execute.

My code in python currently looks like this:

    gaps = original_region.width_check(distance)
    gap_polygons = gaps.polygons()
    # though unnecessary, uncommenting the below line proves that the time is actually being spent on merge, not sizing
    # gap_polygons.merge()
    gap_polygons_buffered = gap_polygons.sized(buffer)

Do you have any suggestions on how to speed this up?

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions