On 10/06/2013 19:06, Steven Schlansker wrote:
Hi core-libs-dev,
While doing performance profiling of my application, I discovered that nearly
50% of the time deserializing JSON was spent within String.intern(). I
understand that in general interning Strings is not the best approach for
things, but I think I have a decent use case -- the value of a certain field is
one of a very limited number of valid values (that are not known at compile
time, so I cannot use an Enum), and is repeated many millions of times in the
JSON stream.
Have you run with -XX:+PrintStringTableStatistics? Might be interesting
if you can share the output (it is printed just before the VM terminates).
There are also tuning knobs such as StringTableSize and would be
interesting to know if you've experimented with.
-Alan.