On Mon, 2008-09-22 at 19:51 +0100, Daniel Silverstone wrote: > My tests, although tainted by the fact that I ran them against an > effectively blank database, show that the C reimplementation takes > approximately 0.4% of that, so approximately 0.12% of a CPU on average > through the month.
I realise this isn't exactly obvious, so here are the raw numbers which might be easier to understand: [The unit 'CS' is CPU Second, not centisecond] The ruby takes ca. 1CS to start up (hot cache) and consumes ca. 139CS to process a 21186 point GPX and insert it into a blank database. At the end it has 45MB resident size. This size does not seem to increase over time or over repeated reimports which all take approximately the same time. The GPX import daemon (Compiled -O0, although -O2 only makes a tiny improvement as most of the time is in the database and libraries, not my code) takes an immeasurably small amount of time to start up, and consumes ca. 0.55CS to import the same 21186 point GPX and insert it into a blank database. At the end it has 2.2MB resident size, this size does not seem to increase over time, and valgrind reports it to be leak-free. Reimports take approximately the same amount of time. Wallclock, the ruby takes about 2:20s to complete, the C daemon about 2s. I'd be interested to know its performance on a non-empty DB. Thanks, Daniel. -- Daniel Silverstone http://www.digital-scurf.org/ PGP mail accepted and encouraged. Key Id: 2BC8 4016 2068 7895 _______________________________________________ dev mailing list dev@openstreetmap.org http://lists.openstreetmap.org/listinfo/dev