[geos-devel] Current project status
Martin Davis
mbdavis at VividSolutions.com
Sun Nov 24 17:37:19 EST 2002
So my take on the statistics below is that GEOS is now somewhat faster than JTS (at least, JTS before the self-intersection check speedup). So we may be at the point of diminishing returns for increasing performance using the current algorithms.
The changes to incorporate the self-intersection check speedup are relatively minor - I think we should incorporate them now. I will send the code to Yury to port.
Martin Davis, Senior Technical Specialist
Vivid Solutions Inc.
Suite #1A-2328 Government Street Victoria, B.C. V8T 5G5
Phone: (250) 385 6040 Fax: (250) 385 6046
EMail: mbdavis at vividsolutions.com Web: www.vividsolutions.com
> -----Original Message-----
> From: Yury A. Bychkov [mailto:ybychkov at direct.ca]
> Sent: Sunday, November 24, 2002 2:59 AM
> To: geos-devel at geos.refractions.net
> Subject: [geos-devel] Current project status
>
>
> 1. RobustLineIntersector has been updated.
> 2. MonotoneChainIndexer::getChainStartIndices was a biggest
> single contributor
> to Coordinate() calls (~20% of total calls). I've replaced instances
> CoordinateList with references to gauge performance increase
> (See results
> below).
> 3. Currently I am redoing the CoordinateList (and calls to
> its methods) with
> respect to the suggestions on the list.
>
> Here are the performance results (P4-2.53):
> No modifications:
> # overlapping MCs: 406
> # segment intersection tests: 226
> n Pts: 1000 Executed in 30 ms.
> # overlapping MCs: 406
> # segment intersection tests: 278
> n Pts: 2000 Executed in 50 ms.
> # overlapping MCs: 406
> # segment intersection tests: 248
> n Pts: 4000 Executed in 100 ms.
> # overlapping MCs: 406
> # segment intersection tests: 250
> n Pts: 8000 Executed in 150 ms.
> # overlapping MCs: 406
> # segment intersection tests: 272
> n Pts: 16000 Executed in 391 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 32000 Executed in 751 ms.
> # overlapping MCs: 406
> # segment intersection tests: 236
> n Pts: 64000 Executed in 1513 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 128000 Executed in 3395 ms.
> # overlapping MCs: 406
> # segment intersection tests: 238
> n Pts: 256000 Executed in 7120 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 512000 Executed in 12788 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 1024000 Executed in 25296 ms.
>
> New RobustLineIntersector:
> # overlapping MCs: 406
> # segment intersection tests: 226
> n Pts: 1000 Executed in 20 ms.
> # overlapping MCs: 406
> # segment intersection tests: 278
> n Pts: 2000 Executed in 40 ms.
> # overlapping MCs: 406
> # segment intersection tests: 248
> n Pts: 4000 Executed in 90 ms.
> # overlapping MCs: 406
> # segment intersection tests: 250
> n Pts: 8000 Executed in 130 ms.
> # overlapping MCs: 406
> # segment intersection tests: 272
> n Pts: 16000 Executed in 311 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 32000 Executed in 621 ms.
> # overlapping MCs: 406
> # segment intersection tests: 236
> n Pts: 64000 Executed in 1252 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 128000 Executed in 2754 ms.
> # overlapping MCs: 406
> # segment intersection tests: 238
> n Pts: 256000 Executed in 5688 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 512000 Executed in 10895 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 1024000 Executed in 22042 ms.
>
> CoordinateList instances replaced with references in
> MonotoneChainIndexer; some
> tweaking of CoordinateList:
> # overlapping MCs: 406
> # segment intersection tests: 226
> n Pts: 1000 Executed in 20 ms.
> # overlapping MCs: 406
> # segment intersection tests: 278
> n Pts: 2000 Executed in 30 ms.
> # overlapping MCs: 406
> # segment intersection tests: 248
> n Pts: 4000 Executed in 70 ms.
> # overlapping MCs: 406
> # segment intersection tests: 250
> n Pts: 8000 Executed in 120 ms.
> # overlapping MCs: 406
> # segment intersection tests: 272
> n Pts: 16000 Executed in 270 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 32000 Executed in 500 ms.
> # overlapping MCs: 406
> # segment intersection tests: 236
> n Pts: 64000 Executed in 991 ms.
> # overlapping MCs: 406
> # segment intersection tests: 264
> n Pts: 128000 Executed in 2023 ms.
> # overlapping MCs: 406
> # segment intersection tests: 238
> n Pts: 256000 Executed in 4276 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 512000 Executed in 7861 ms.
> # overlapping MCs: 406
> # segment intersection tests: 232
> n Pts: 1024000 Executed in 15993 ms.
>
>
> Yury
>
>
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
>
More information about the geos-devel
mailing list