[Routing] monav, RAM and disk usage

Tim Teulings tim at framstag.com
Mon Aug 30 22:23:08 BST 2010


Hello!

> Currently, the code is still not actually working under msvc(see below).
> I may send you the diff and suggestion later after it works.

I'm working on this :-)

What I did today:
* Reproduced and fixed the bug using my mingw environment (before only 
fix bugs under Linux).
* Get the libosmscout code to compile using VisualStudio 2010 (if you 
are using visual Studio 2008 there might be further things to do). I 
still need to get the other libraries/tools running and I'm also missing 
a final test using your example file (time to sleep now).

> That must be a long time ago. Using the boost build system bjam, two
> line of command will do all the job.
> Of course, you don't have to build all the lib. Plus, most of the boost
> libs are header only.

OK, good to know :-) Up to now however code changes required to get it 
to run under Visual Studio 2010 justified no additional library.

> + Loading type config...
> + 1 Preprocess...
> Nodes: 2311
> Ways/Areas/Sum: 72 230 302
> Relations: 16
> + 2 Generating 'rawnode.idx'...
> - Generating 'rawnode.idx'...
> Cannot read uint32_t beyond file end!
> !! Error while reading number of data entries in file
> !! Error while executing step Generating 'rawnode.idx'!
> Import failed!

That was fixed under mingw (and hopefully under Visual Studio, too - but 
final test is required).

> I'm using the stdint.h from
> http://msinttypes.googlecode.com/svn/trunk/stdint.h, suggested by wiki
> page. Dose it matter?

I did a quick scan. It looks like it should not matter.

> I also note the HAVE_MMAP, should I define it?

HAVE_MMAP is set by configure if unix memory mapping file support is 
detected. This Windows memory maped file have a different API not 
defining it is OK. In this case simple file navigation using fseek and 
Co. is used - which might be a bit slower.

> Alas, I mistook the file name, but that should be the file which crashed
> the import.

It did.

> Well, agg may be kinda low-level for part of you purpose. Mainly these
> text drawing stuff, but you can use some font lib like freetype to gain
> a much better text drawing support. Agg is small, fast and portable.
> I've tried cairo under windows, but the performance was not so
> satisfactory. I also prefer the agg's c++ way. The only problem may be
> the development has been hung for a long time. I'd mention mapnik here
> again. It has both agg and cairo render support, and they all work well
> under same framework.

As told before adding a new "driver" just requiring inheriting from a 
abstract base class and implementing all missing methods. It is not a 
problem to add further drivers like agg (besides missing time ;-)). I 
think a hardware accelerated driver like OpenGL will possibly best show 
the raw speed of the database engine in comparison to the drawing engine.

-- 
Gruß...
    Tim




More information about the Routing mailing list