Measuring Polygon Extraction Rates
Since the polygon density of our test files is much lower than the targeted 2000 polys/um2 we decided to measure extracted polygons per second. This will allow a user to estimate the speed for his file based on the density of his layout file and the size of the extraction window.
1. In GDSII there are 5 vertices per rectangle (the first/last vertex is counted twice.) The table numbers indicate that the data is 90% rectangles.
2. Even though all three cases cover the same total area the higher window count runs slower - likely due to some overhead in processing the window information.
Even though these files differed in size (and in polygon density) the polygon extraction rate seems to be constant at about one million polygons per second assuming there are a lot of polygons per window.
To extrapolate performance to larger and denser files, one will have to sample the polygon density of the layer or layers of interest; using the window size and number of windows you should be able to estimate the polygon extraction time. Artwork has written its own utility for measuring polygon density on a GDSII or OASIS file.
This assumes that all the layout entity data fits into memory.
We also believe that making the exploder multi-threaded will scale throughput linearly with the number of processors since there are not memory write collisions. Therefore once we implement the multi-threaded polygon exploder, a workstation with 16 processors should be able to extract polygons almost 16X faster.