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?
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:
Do you have any suggestions on how to speed this up?