Hi Steve,
I think Arndt is right, mkgmap requires much more heap now when computing
the index, also without the new --x-split-name-index option.
This is his error message:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.nio.CharBuffer.wrap(Unknown Source)
at java.nio.CharBuffer.wrap(Unknown Source)
at uk.me.parabola.imgfmt.app.srt.Sort.createSortKey(Sort.java:182)
at uk.me.parabola.imgfmt.app.srt.Sort.createSortKey(Sort.java:271)
at uk.me.parabola.imgfmt.app.mdr.Mdr7.preWriteImpl(Mdr7.java:168)
at uk.me.parabola.imgfmt.app.mdr.MdrSection.preWrite(MdrSection.java:129)
at uk.me.parabola.imgfmt.app.mdr.MDRFile.writeSections(MDRFile.java:308)
at uk.me.parabola.imgfmt.app.mdr.MDRFile.write(MDRFile.java:247)
at uk.me.parabola.mkgmap.combiners.MdrBuilder.onFinishForDevice(MdrBuilder.java:355)
at uk.me.parabola.mkgmap.combiners.GmapsuppBuilder.onFinish(GmapsuppBuilder.java:163)
at uk.me.parabola.mkgmap.main.Main.endOptions(Main.java:575)
at uk.me.parabola.mkgmap.CommandArgsReader.readArgs(CommandArgsReader.java:128)
at uk.me.parabola.mkgmap.main.Main.mainStart(Main.java:134)
at uk.me.parabola.mkgmap.main.Main.main(Main.java:105)
I see two reasons:
1) The structure MDR7Record is a bit larger
2) A lot more bytes are stored in byte[] arrays and SrtSortKey instances
For a map for Austria this requires 169MB instead of 128 MB.
I think one reason is that Mdr7.preWriteImpl() is always computing and
saving a partial name, no matter what option is used?
Gerd
Date: Sun, 22 Feb 2015 01:12:25 +0100
From: arndt@speichenkarte.de
To: mkgmap-dev@lists.mkgmap.org.uk
Subject: [mkgmap-dev] computing power mdx/mdr
Hello @all
my PC is not he best machine. 4GB RAM & Intel CoreDuo 3GHz 64bit Win7.
Making maps from Europa is no problem, but at the end of the process, mkgmap failed to build mdx/mdr.
For the website www.speichenkarte.de i need germany and a few kilometers more. Size of the files after "splitter" is 2,8 Gb and 213 img-files.
mkgmap 3426 is to be able to build this.
mkgmap 3472 failed to build mdx/mdr. Also the gmapsupp dosnīt work/no shown.
Need 3472 needs more computing power than 3426?
Is it possible change mkgmap, to create mdr/mdx and gmapsupp wiss less cumputer power?
Best regards
Arndt
P.S.
Sorry for the bad english, hope you understand what i mean :)
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev