[geos-devel] Updated timings/profiling.

strk at refractions.net strk at refractions.net
Tue Feb 1 10:55:46 EST 2005


On Fri, Jan 28, 2005 at 01:19:55PM +0100, strk at refractions.net wrote:
> Some time ago I've been researching about GEOS performance
> problems as related to JTS. Attached is a shapefile and an .xml
> test you can use to compare the two.
> 
> JTS does not support buffers tests, so you'll need to use another
> method for that. I used JUMP, which reports computation time.
> 
> Well. The operation is a buffer(polygon, 2000).
> 
>  JTS:  18 seconds
> GEOS: 574 seconds (9 minutes, 34 secs)

I've found out I was using non-optimized builds (-O0).
With -O2 GEOS timing reduces to 63 seconds.

Still worth profiling, but JTS/GEOS are much closer.

Most of the time is spent in MCQuadtreeNoder::intersectChains().

--strk;

> 
> GEOS computation keeps the CPU pretty busy (98.2-99.8%)
> and takes up to about 170 MB of ram
> 
> JTS seems to use 3 threads, the bigger using at most 80% 
> of CPU, but most of the time far below that point.
> JUMP reports 104MB committed, but I'm not sure about the meaning.
> 
> For GEOS, valgrind reports (with buffer 500):
>  malloc/free: 2982697 allocs, 2982697 frees, 924407212 bytes allocated.
> 
> How much do you think this wild allocation negatively influence the
> poor performance of GEOS ?
> 
> --strk;
> _______________________________________________
> 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