[OSM-dev] Reimplementation of the GPX importer

Daniel Silverstone dsilvers at digital-scurf.org
Mon Sep 22 20:02:59 BST 2008


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






More information about the dev mailing list