I'm taking the printf method below - except streaming out using the apache module interface rather than stdout. I'm also streaming as much stuff from the db as possible (nodes, ways, . However I believe for the map query there's a trade-off between local process memory usage and minimising db queries: For instance when outputting the ways, one can either have previously built up a local dictionary of way ids to way tag key-value pairs, or one can query the db each time for the tags for each way. I've chosen the former - because in C/C++ I think the overhead of storing the strings locally is fairly minimal.
Should have an example C++ api serving from an apache module online soon. Alex 2008/5/30 Raphaël Jacquot <[EMAIL PROTECTED]>: > Joachim Zobel wrote: > > Am Montag, den 26.05.2008, 15:07 +0100 schrieb Tom Hughes: > >> The reason is that we have to allow about 600Mb or so for each call > >> and that quickly mounts up as you try and add extra simultaneous > >> accesses. > > > > If _that_ amount of memory is needed this probably means the XML is > > build in memory. This could be done the SAX way instead. > > > considering how simple the xml is, it could probably be done the printf > way, that sure would make it less memory abusive. > one thing that it may be doing, is getting *all results* in one go from > the database server, instead of one result at a time, resulting in > having the entire set of data in the web server's machine memory at some > point. > requesting one row at a time *will* result in instant memory consumption > cutoff and won't have any effet on the database server, which is much > better at handling this sort of thing (it can handle the same row in ram > for various requests at the same time) > > > Sincerely, > > Joachim > > raphael > (who now works on seismic data sets...) > > > _______________________________________________ > dev mailing list > [email protected] > http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev >
_______________________________________________ dev mailing list [email protected] http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev

