[mkgmap-dev] Performance with large files
From Bernhard Hiller bhil at gmx.de on Wed Mar 22 20:07:37 GMT 2017
Hi Gerd, it was one single tile which took more than 2 hours: 43100003.osm.pbf took ~7242 sec It covers a large area, but not as big as the tile mentioned previously: 43100003: 1765376,741376 to 2203648,1310720 # : 37.880859,15.908203 to 47.285156,28.125000 The input file "43100003.osm.pbf" measures 12.5 MB - quite a normal size; the resulting img file is 4.2 MB, that's below average. Strange that that takes such long. The --polygon-file option (with a polygon from 2-19°E, 45-55°N) reduced the time spent by mkgmap to just below 1 hour, no tile took more than 100s. Thanks for that trick. I am still curious why the creation of a tile covering a large area, but hardly containing nodes requires so much time. Also with the polygon mentioned above, a large almost empty tile exists (South of Belgium, because I did not include France) which took longest (97s). Bernhard Am 22.03.2017 um 06:26 schrieb Gerd Petermann: > Hi Bernhard, > > I assume that the merged file doesn't contain a bbox. In that case you may see a few nodes from ferry routes in the input file and > splitter will calculate a bbox containing them. I did not see this problem when merging Belgium + Netherlands with osmconvert. > > Anyway, you may solve the problem in the future by using appropriate bounds, e.g. with osmconvert or with the --polygon-file option > in spltter. > > Gerd > > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <GPetermann_muenchen at hotmail.com> > Gesendet: Dienstag, 21. März 2017 19:15:13 > An: Development list for mkgmap > Betreff: Re: [mkgmap-dev] Performance with large files > > Hi Bernhard, > > okay, that is a good guess. How do you combine the files? Do you download single country extracts from geofabrik > and merge them with osmconvert? Or maybe another tool? > > The splitter log file may show some hints why the area is so large, and maybe you should check splitter option > no-trim. > > Gerd > ________________________________________ > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Bernhard Hiller <bhil at gmx.de> > Gesendet: Dienstag, 21. März 2017 18:56:51 > An: mkgmap-dev at lists.mkgmap.org.uk > Betreff: Re: [mkgmap-dev] Performance with large files > > 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=ue 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 >> > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > -------------- next part -------------- A non-text attachment was scrubbed... Name: mkgmap_logs.zip Type: application/x-zip-compressed Size: 73235 bytes Desc: not available URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20170322/aa86d8c0/attachment-0001.bin>
- 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