Alan.Bateman at oracle.com
Tue Feb 28 14:37:09 UTC 2012
On 28/02/2012 14:26, Vitaly Davidovich wrote:
> Hi all,
> I noticed that this method could be made a bit more performant by:
> 1) creating a statically initialized Pattern for "-" and then calling
> split() on that. Currently the method calls name.split() which compiles
> the pattern on each invocation.
> 2) use Long.parseLong() instead of Long.decode() to extract the bits.
> With these changes, the method runs at least 20% faster (some runs were
> significantly faster) on an Intel Westmere server and should be a bit more
> GC friendly.
> Any thoughts? I can send the full code a bit later when I'm in front of my
> Sent from my phone
Just on name.split, are you sure this is compiling a pattern each time?
There is a fast path in String.split since jdk7 for the common case so I
would not expect the regex code to be used.
More information about the core-libs-dev