[mkgmap-dev] Performance with large files
From Bernhard Hiller bhil at gmx.de on Tue Mar 21 17:56:51 GMT 2017
Hi Gerd, mkgmap is running now, I'll likely report tomorrow. But I already saw that the first tile took very long, and in the areas file it is: 43100001: 1765376,-935936 to 2822144,139264 # : 37.880859,-20.083008 to 60.556641,2.988281 So, I suspect that here could be a problem: some of the newly added extracts inflates the area covered by the map extremely. I first thought of the Dutch Antilles in the Caribean, but that's farther west and farther south. I cannot see how that area comes into the map. The maps I created before, typically contained Germany, Chechia, Austria, Liechtenstein, and Switzerland. That took normally less than an hour per map. Now I added Luxemburg, Belgium and Netherlands also, which does not increase file size a lot. But the time for map creation was increased enormously. Bernhard Am 21.03.2017 um 09:17 schrieb Gerd Petermann: > Hi Bernhard, > > other tests did not show new results. Any idea why you got so different numbers? > > Gerd > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <GPetermann_muenchen at hotmail.com> > Gesendet: Montag, 20. März 2017 07:40:00 > An: Development list for mkgmap > Betreff: Re: [mkgmap-dev] Performance with large files > > Hi Bernhard, > > reg. splitter: > If I got that right you used pbf as input format for the "Germany" result and *.o5m for "Central Europe". > Since the o5m format allows faster processing the splitter times are okay for me. > > reg. mkgmap: > I've added a few lines in mkgmap to report the calculation time for each tile. As you might know, > mkgmap starts a few threads (depending on the max-jobs option) and each thread processes on tile at a time. > The threads share only a few data structures, and mkgmap doesn't collect much information for each tile in > memory, so there is no good reason for an increase of run time per processed tile. > > My system is probably close to yours, a machine with 8 GB Memory and a 4 core CPU (i5) running a 64 Windows. > > The attached patch adds a few lines to report the calculation time for a tile. The patched version is here: > http://files.mkgmap.org.uk/download/339/mkgmap.jar > > I've used the patched version to compile a map with the OpenfietsMap Lite style of an area around (and including) Germany . > I used the attached dach-x.poly file with osmconvert and a planet.o5m file from 2017-01-17. > and splitter with max-nodes00000 & keep-complete=true and found what I expected. > Times are between 7 and 35 seconds per tile, most are around ~20 secs, no increase in time/tile. > The time for the creation of the index / gmapsupp is rather short compared to the overall run time. > The complete mkgmap log is here : > http://files.mkgmap.org.uk/download/340/mkgmap_2017-03-20-064126.log > > So, I cannot reproduce your result for mkgmap. > Maybe your machine was busy with other work like installing updates, maybe some tiles in the added area > require much more time, maybe times depend on program options or style. > > I just noticed that I did not enable assertions (-ea) so I now try a variant with a max-nodes00000 and -ea. > > Gerd > > > > > > > > > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Bernhard Hiller <bhil at gmx.de> > Gesendet: Sonntag, 19. März 2017 19:46:32 > An: mkgmap-dev at lists.mkgmap.org.uk > Betreff: Re: [mkgmap-dev] Performance with large files > > Eventually I updated Java and tried the latest version of mkgmap 3847 > (and also splitter 580). > The extracts were retrieved from Geofabrik on Saturday 18. > Germany: 2.93 GB > plus additional countries: 5.62 GB (incl. Germany) which were combined > to a 7.57 GB o5m file. > splitter: Germany 14 minutes - Central Europe 20 minutes > mkgmap: Germany 30 minutes - Central Europe 133 minutes > While splitter performed better than O(n) (more like O(sqrt(n))), > mkgmap performed worse than O(n^2). > > Am 19.03.2017 um 12:06 schrieb Bernhard Hiller: >> How is mkgmap expected to behave when input files grow in size? Is a >> linear inrease in calculation time - i.e. O(n) - expected, or an >> increase beyond linearity? >> E.g. when I create a map with routable lines for bicycle, mkgmap takes >> some 30 minutes for Germany alone (3 GB pbf file resulting in 850 MB >> img file), but more than 2 hours for Germany and some neighboring >> countries (7 GB o5m file, resulting 1.4 GB img). >> Are there many calculations at O(n^2) or beyond in mkgmap, or is this >> due to other factors, e.g. memory limitation? >> Notes: >> mkgmap is called by >> %JAVA% -Xmx6800M -ea -jar %MKGMAP% .... >> on 64bit Win 7; >> swapping to disc does not occur. >> But I am more interested in a general rule than in some hints for >> improving the performance in this concrete case. E.g. how I could >> estimate the duration if I add some further countries... >> Thanks for your hints. >> > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >
- Previous message: [mkgmap-dev] Performance with large files
- Next message: [mkgmap-dev] Performance with large files
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list