Hi Robert,
Many thanks for the feedback.
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)
Well, that's a good question. As distance() mostly gets called to
determine which of a bunch of points is nearest, it probably doesn't
matter at all that the result is slightly wrong. I don't believe that
the quality of the values returned by distance() will affect the
accuracy of the map. Perhaps it will make some difference to the
routing but, at this time, I am not convinced that distance() needs to
be super^2 accurate. If anyone knows otherwise, please say.
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.)
Well, that's not as good a speedup as I have been seeing. Without using
the parallelism patch, i.e. just using 1 core, I get around x2
performance on a very quick machine when using the quick-distance patch.
Anyway, thanks again for taking the time to give it a go.
Cheers,
Mark
___
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev