[mkgmap-dev] Patch to reduce memory usage by interning strings.From Scott A Crosby scrosby at cs.rice.edu on Fri Apr 2 04:47:59 BST 2010
On Wed, 31 Mar 2010 23:58:45 +0200, WanMil <wmgcnfg at web.de> writes: > Am 31.03.2010 22:10, schrieb Scott A Crosby: >> On Wed, 31 Mar 2010 21:13:49 +0200, WanMil<wmgcnfg at web.de> writes: >> > my patch interned all keys and additionally the values of a limited > number of keys. Maybe it's not necessary to limit the interning of > values. So I have attached the very simple but hopefully very > effective patch regarding the memory footprint of mkgmap. My opinion is that its simpler and more robust to intern or pseudointern every tag value. The bad tile had a lot of duplicate values, what if those tags were not on your list of the 'only intern value strings for some keys'? > Regarding your patch: I don't understand the function of the > FuzzyIntern class. You build a HashMap from (uninterned) Strings to > the interned String. Then you are looking up new strings in this > HashMap and use the interned variant. Where's the difference to the > (hopefully) very performance optimized intern() method? Note that this code is not actually interning any strings in with String.intern(). Call it psuedointerning. The purpose of FuzzyIntern was when I believed that String.intern() interned forever, which I considered very undesirable. I wanted semantics that would remove (most) duplicate strings in memory without forcing those strings to remain in RAM forever. >> String intern does not intern forever > I didn't know that. Do you have any link where this is specified? A google search 'java intern weak reference' seems to indicate that Java since version 1.2 uses a weak reference table for string intern, which means that they can be removed. That search offers alternative implementation ideas, such as using a real weak reference hashtable. Scott
- Previous message: [mkgmap-dev] Commit: r1625: Translate amenity=zoo at resolution 20 like tourism=zoo,
- Next message: [mkgmap-dev] Patch to reduce memory usage by interning strings.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list