On Jul 2, 2007, at 2:49 AM, Stephen Colebourne wrote:

Hi,
Have you got figures to show what difference the code change makes?

In the profiling data mentioned in my earlier mail (and below), the execution of java.lang.Class.isArray() (triggered via run1()) takes up 45% of the total execution time while run2() takes up only 2.8% of the total execution time. It is approximately a 15x improvement. If the [lang] team agrees on this, then I can raise the call and post a fix.

If so, perhaps you could raise a JIRA call so we can process this for [lang].

thanks
Stephen

Venkatesh Prasad Ranganath wrote:
Hi,
I am using HashCodeBuilder and I found that the use of Class.isArray()
method in append(Object) to be a bottleneck.  Following program and
jprof data illustrates the bottleneck along with a solution.  I was
curious if we can integrate the solution code in
OptimizedHashCodeBuilder.append(Object) into
HashCodeBuilder.append(Object) in the upcoming version 2.3 release of
Commons Lang.
CPU SAMPLES BEGIN (total = 71) Sat Jun 30 16:51:43 2007
rank   self  accum   count trace method
   1 45.07% 45.07%      32 300138 java.lang.Class.isArray
   2 14.08% 59.15%      10 300141 java.util.AbstractList.hashCode
   3 12.68% 71.83%       9 300142 java.util.AbstractList.hashCode
   4  4.23% 76.06%       3 300030
sun.nio.cs.UTF_8$Decoder.decodeArrayLoop   5  4.23% 80.28%       3
300144 java.util.AbstractList.hashCode
   6  2.82% 83.10%       2 300143 Test.run2
   7  2.82% 85.92%       2 300139 java.util.ArrayList.get
   8  1.41% 87.32%       1 300140 java.util.AbstractList.hashCode
   9  1.41% 88.73%       1 300145 java.util.AbstractList.hashCode
  10  1.41% 90.14%       1 300027 sun.nio.cs.UTF_8$Decoder.<init>
  11  1.41% 91.55%       1 300012 java.nio.DirectByteBuffer.<init>
  12  1.41% 92.96%       1 300089 sun.security.provider.Sun.<clinit>
  13  1.41% 94.37%       1 300132 sun.security.provider.Sun.<init>
  14  1.41% 95.77%       1 300071 java.lang.StringCoding.decode
  15  1.41% 97.18%       1 300031
sun.reflect.NativeConstructorAccessorImpl.newInstance  16  1.41%
98.59%       1 300048 java.net.URLClassLoader.defineClass
  17  1.41% 100.00%       1 300137
sun.net.www.ParseUtil.canonizeStringCPU SAMPLES END

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to