That's a big difference! I was curious what's going on and so I looked at the queries generated for the two different transforms. Besides the slight difference in functionality, there are three obvious differences: 1. Overlay : intersect uses the GeomOverlayTopologyIntersectPar function and Clip uses GeomClip. 2. Overlay : intersect uses a parallel function and Clip does not. 3. Clip does a GeomUnionAreas of clipping areas, and Overlay : intersect does not. In your example map, there is only one clipping area, so it is not likely the union that makes a difference. If you alter the query for Overlay : intersectto use GeomOverlayTopologyIntersect, it takes less than twice as long, so it's not likely parallelism. My guess, therefore, is that there is something missed in the optimization within GeomClip that is being done in GeomOverlayTopologyIntersect and GeomOverlayTopologyIntersectPar or that for whatever reason in this particular data set whatever is done to allow a choice of either inner or outer clip misses an opportunity. It's also possible that Clip is doing greater controls, like more sensible managing of overlapping clipping areas, that the Overlay operation (being modeled on ESRI commands) does not. I've written this up as a suggestion/bug report and have sent it in. The good news is that when there is such a big difference between two similar Manifold functions it usually is pretty easy for Engineering to determine what's going on and to improve performance in the function that is slower.
|