On Thu, 01 Apr 2010 12:10:22 +0100, Steve Ratcliffe <[email protected]> 
writes:

> On 31/03/10 14:56, Scott A Crosby wrote:
>> I noticed that mkgmap does not intern any strings. In particular, this
>
> This is true.  There is a pending patch that deals with excessive
> memory use in a slightly different way which is on the style-speed
> branch, with a pre-built one available at the bottom of the mkgmap
> download page.

I pulled it out of s...@1569.

> I drops all tags that are not used by the current style and as an
> extra feature it ensures that there is only copy of all the strings
> on the key side.
>
> Could you try it out please. It may be worth also interning the values
> but when I was looking at it there was much less benefit for the maps
> I was looking at (but it might vary with the input).
> I'd be happy to apply a patch that interned the values too if there
> was a decent memory saving without a significant performance drop.

The style-speed branch builds the tile in question within 1gb of ram
using the default style. I suspect that that style isn't using the
problematic tags. A different style that did use the tags would likely
still blow up. This seems fragile.

I benchmarked the problematic tile on the style-speed branch with and
without interning all keys and values in the Tag() constructor using
ordinary String.intern(). The 18 character change implementing
interning seems to increase performance by about a second, from 66 to
65 seconds.

I'd say to go for it.

Scott
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to