[geos-devel] Latest performance numbers

Yury A. Bychkov ybychkov at direct.ca
Mon Dec 2 05:37:29 EST 2002


Unfortunately I was rather busy last week and didn't spend as much time as I
wanted on GEOS. Nonetheless, I am including the latest performance figures
(after changing instances of CoordinateList (and the most called ones of
Coordinate) into references and pointers). It gives ~16% improvement. Note: this
is before inlining, which should bring a good performance boost as well.

Here is the latest profiler output for the top methods (Note: I don't know what
the time units are, so just use them for relative comparison):
# of calls               Self Time               Method
1339907549        66686185             Total
     35062026       11518383
MonotoneChainEdge::computeIntersectsForChain
   326523022         9213873              CoordinateList::getAt
     36845240         5960861              RobustDeterminant::signOfDet2x2
   454718749         5439538              Coordinate::Coordinate
     17144728         5112518
RobustLineIntersector::computeIntersect
     21238728         5073871              SegmentIntersector::addIntersections
I have quite a good idea on what causes so many calls to Coordinate(), so I
should be able to solve it easily (though it probably wouldn't have a drastic
effect on the overall performance).

Yury.

Latest performance numbers:
 # 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     60 ms.
 # overlapping MCs: 406
 # segment intersection tests: 250
 n Pts: 8000  Executed in    110 ms.
 # overlapping MCs: 406
 # segment intersection tests: 272
 n Pts: 16000  Executed in    230 ms.
 # overlapping MCs: 406
 # segment intersection tests: 264
 n Pts: 32000  Executed in    441 ms.
 # overlapping MCs: 406
 # segment intersection tests: 236
 n Pts: 64000  Executed in    872 ms.
 # overlapping MCs: 406
 # segment intersection tests: 264
 n Pts: 128000  Executed in   1673 ms.
 # overlapping MCs: 406
 # segment intersection tests: 238
 n Pts: 256000  Executed in   3295 ms.
 # overlapping MCs: 406
 # segment intersection tests: 232
 n Pts: 512000  Executed in   6610 ms.
 # overlapping MCs: 406
 # segment intersection tests: 232
 n Pts: 1024000  Executed in  13409 ms.





More information about the geos-devel mailing list