[geos-devel] Performance of GEOS compared to JTS (Report, Nov. 8)
Norman Vine
nhv at cape.com
Tue Nov 19 10:42:13 EST 2002
Norman Vine wrote:
>
> I did some major hacking on the code
> machine: PIII 733 Cygwin gcc 3.2 -O3
>
>
> I'll clean up what I did 'a little' and post a tarball somewhere tomorrow
> so others can play.
Here is the promised tarball
This is not necessarily 'pretty' but should be useful
for comparison purposes < This won't stay here long >
http://www.vso.cape.com/~nhv/files/geos-1.tar.gz
I am still surprised at how often some functions are called
signOfDet2x2 13 times
addIntersections 5
Note that before I did a little rearanging signOfDet2x2
was called 17 times per point but ...... since this code
is now dominated by the Determinate code if the Java
performance is still close My guess is that for some reason
the Java code is calling the determinate calculation far fewer
times
Norman
this is against a 1000000 point SineStar
% cumulative self self total
time seconds seconds calls s/call s/call name
75.24 1.55 1.55 13352204 0.00 0.00 RobustDeterminant::signOfDet2x2(double&, double&, double&, double&)
9.71 1.75 0.20 5176115 0.00 0.00 SegmentIntersector::addIntersections(Edge*, int, Edge*, int)
5.83 1.87 0.12 2 0.06 0.06 LineString::computeEnvelopeInternal()
3.88 1.95 0.08 1 0.08 0.08 GeometryTestFactory::createSineStar(double, double, double, double, int, int)
2.91 2.01 0.06 1999968 0.00 0.00 SegmentIntersector::isTrivialIntersection(Edge*, int, Edge*, int)
0.97 2.03 0.02 2 0.01 0.01 Geometry::hasNullElements(CoordinateList)
0.49 2.04 0.01 6 0.00 0.00 RobustCGAlgorithms::RobustCGAlgorithms()
0.49 2.05 0.01 2 0.01 0.01 LineString::LineString(CoordinateList, PrecisionModel, int)
0.49 2.06 0.01 2 0.01 0.01 GeometryGraph::addPolygonRing(LinearRing*, int, int)
0.00 2.06 0.00 5176119 0.00 0.00 LineIntersector::hasIntersection()
More information about the geos-devel
mailing list