[geos-devel] Current project status
Martin Davis
mbdavis at VividSolutions.com
Sun Nov 24 17:46:52 EST 2002
Yep, good idea. My gut feel is that there should be very few calls to the Coordinate constructor - most accesses to Coordinates in the algorithms should be by reference. So go to it - maybe I'll have to retrieve my C compiler from the garbage after all!
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:42 PM
> To: GEOS Development List
> Subject: Re: [geos-devel] Current project status
>
>
> There still seems to be a very large number of useless
> Coordinate() constructor
> calls. I'd suggest waiting so see if I can eliminate a large
> portion of them
> easily enough (I'll know if a couple of days). Then I can add
> self-intersection
> speedups and we'll see what the performance will be.
>
> Yury
>
> ----- Original Message -----
> From: "Martin Davis" <mbdavis at VividSolutions.com>
> To: "GEOS Development List" <geos-devel at geos.refractions.net>
> Sent: Sunday, November 24, 2002 2:37 PM
> Subject: RE: [geos-devel] Current project status
>
>
> 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
> >
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel
>
>
>
>
> _______________________________________________
> 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