logo separator

[mkgmap-dev] [PATCH v1] quick distance calculation

From Robert Joop 8500547528183gmap at rainbow.in-berlin.de on Tue May 19 20:47:22 BST 2009

On 09-05-16 19:54:31 CEST, Mark Burton wrote:
> It is substantially faster and so I believe we should change to using
> it as long as it doesn't introduce any issues.
> 
> So please try out this patch and report:
> 
> a - if any breakage is observed

how much difference is tolerable...?

enabling your diagnostic code, i've observed differences typically in
the range of .25% to .4%, with some exceptions like...

quickDistance() = 1.4536911305450404 slowDistance() = 1.446011378093334 (0.5310990333860841% difference)
quickDistance() = 1.4535945914221295 slowDistance() = 1.446011378093334 (0.5244227980276771% difference)

... and a number of lines where the relative difference doesn't really
compute:

quickDistance() = 0.0 slowDistance() = 0.09493529796600342 (100.0% difference)



> b - performance increase/decrease

i compiled my village four times with and without the patch:

with: make basemap1  56.00s user 0.99s system 143% cpu 39.621 total
without: make basemap1  65.33s user 1.02s system 132% cpu 49.988 total
without: make basemap1  70.27s user 1.19s system 137% cpu 52.111 total
with: make basemap1  58.36s user 1.07s system 144% cpu 41.124 total
with: make basemap1  55.84s user 1.20s system 134% cpu 42.394 total
without: make basemap1  66.21s user 0.90s system 131% cpu 51.153 total
with: make basemap1  51.98s user 1.14s system 142% cpu 37.339 total
without: make basemap1  69.27s user 1.03s system 137% cpu 51.306 total

-> with avg: 55.54s user
-> without avg: 67.77s user

-> the compile with the patch takes only some 81% of the time.

(in case the type of CPU matters, /proc/cpuinfo on this laptop says
"AMD Turion(tm) 64 X2 Mobile Technology TL-52".)

rj



More information about the mkgmap-dev mailing list