Hi,

sorry, answering my own post again.
I think I found a simple improvement, see attached patch.
I've committed it with r3477 in the housenumber2 branch.

Gerd


From: gpetermann_muenchen@hotmail.com
To: mkgmap-dev@lists.mkgmap.org.uk
Date: Mon, 23 Feb 2015 22:53:55 +0100
Subject: Re: [mkgmap-dev] computing power mdx/mdr

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

_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev