> Hi WanMil,
>
>
> WanMil wrote
>> The "type" tag is required for relations but not for ways and nodes. The
>> code makes it possible to remove if from the builtin-tags-list. In case
>> you want to inline the type tag I propose to change it to
>>
>> if (elem instanceof Relation && "type".equals(key))
>>     key = "type";
>> else
>>     key = keepTag(key, val);
>
> ok, I understand. I did not try it, but I think this will help GC,
> at least for the bin readers that store references to string
> tables.

I've commited that to all readers. It's definitely better than not 
interning it :-)

>
>
> WanMil wrote
>> By the way:
>> keepTag inlines the key by retrieving the key from the usedTags set. Is
>> that faster than key.inline()? At least it prevents "real" inlining over
>> multiple threads?
>
> In the past we did both, first inline() and then a call to keepTag.
> That was slower and required more mem. The inlining seems to be
> very complex, maybe because it has to handle many more strings?

Interesting! I've now also interned the strings that are put into the 
usedTags maps. So the strings are now also interned.

WanMil

>
> Gerd
>

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

Reply via email to