harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Shipilev" <aleksey.shipi...@gmail.com>
Subject Re: [general][performance] Serialization patches need committer attention
Date Fri, 18 Apr 2008 06:26:31 GMT
Tony,

Hm... I had run all JUnit tests before attaching the patch to JIRA, no
crashes due to linkage errors were occurred. Anyway, I had rebuilt
classlib several times with H5756 onboard, run the AUTH tests and
can't reproduce the linkage error you mentioned. I had either running
incremental rebuild or full clean-rebuild, no failure. Makefiles are
already modified in the patch, so the patch remain the same.

I'm afraid the problem is in your environment, would you please
rebuild from scratch? If the issue is still reproduced, I need more
info on the failure.

Thanks,
Aleksey.

On Fri, Apr 18, 2008 at 7:51 AM, Tony Wu <wuyuehao@gmail.com> wrote:
> Hi, Aleksey
>  just did a quick look at 5756, seems there will be some
>  unsatisfiedlink error in auth and security module because the ois.c
>  has been removed. would you please rebuild the native with your patch
>  and verify if I'm correct. And please don't forget to modify the
>  makefile of linux accordingly. I'll be offline for several hours,
>  sorry if I can't reply immediately.
>
>
>
>  On 4/17/08, Aleksey Shipilev <aleksey.shipilev@gmail.com> wrote:
>  > Hi,
>  >
>  > There are two additional issues waiting for committers attention:
>  > https://issues.apache.org/jira/browse/HARMONY-5756
>  > https://issues.apache.org/jira/browse/HARMONY-5718
>  >
>  > Can anyone review and commit them?
>  >
>  > Thanks,
>  > Aleksey.
>  >
>  > On Tue, Apr 15, 2008 at 5:27 PM, Aleksey Shipilev
>  > <aleksey.shipilev@gmail.com> wrote:
>  > > Tony,
>  > >
>  > >  I had fixed the issues with JUnit tests, it was my oversight about
>  > >  handling NoSuchFieldError exceptions.
>  > >  Now all seem to be OK, LUNI tests were passed.
>  > >
>  > >  Thanks,
>  > >  Aleksey.
>  > >
>  > >  On Tue, Apr 15, 2008 at 11:14 AM, Aleksey Shipilev
>  > >
>  > >
>  > > <aleksey.shipilev@gmail.com> wrote:
>  > >  > Hm, I didn't expect this, will take a look, thanks.
>  > >  >
>  > >  >
>  > >  >
>  > >  >  On Tue, Apr 15, 2008 at 11:00 AM, Tony Wu <wuyuehao@gmail.com>
wrote:
>  > >  >  > Aleksey,
>  > >  >  >  I think keep the benchmark somewhere such as JIRA is also ok.
>  > >  >  >
>  > >  >  >  7 serialization related errors in Collections2Test after applied
your
>  > >  >  >  patch.  All of them looked like below.
>  > >  >  >
>  > >  >  >  zeroLengthElementArray
>  > >  >  >
>  > >  >  >  java.lang.NoSuchFieldError: zeroLengthElementArray at
>  > >  >  >  org.apache.harmony.misc.accessors.ObjectAccessor.getFieldID(ObjectAccessor.java:54)
>  > >  >  >  at org.apache.harmony.misc.accessors.ObjectAccessor.getFieldID(ObjectAccessor.java:56)
>  > >  >  >  at java.io.ObjectStreamField.getFieldID(ObjectStreamField.java:59)
at
>  > >  >  >  java.io.ObjectInputStream.readFieldValues(ObjectInputStream.java:1133)
>  > >  >  >  at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:433)
>  > >  >  >  at java.io.ObjectInputStream.readObjectForClass(ObjectInputStream.java:1415)
>  > >  >  >  at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.java:1322)
>  > >  >  >  at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1978)
>  > >  >  >  at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:821)
>  > >  >  >  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:2130)
>  > >  >  >  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:285)
at
>  > >  >  >  tests.util.SerializationTester.readObject(SerializationTester.java:171)
>  > >  >  >  at tests.util.SerializationTester.assertCompabilityEquals(SerializationTester.java:142)
>  > >  >  >  at org.apache.harmony.luni.tests.java.util.Collections2Test.test_checkedCollectionSerializationCompatability(Collections2Test.java:418)
>  > >  >  >  at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25)
>  > >  >  >
>  > >  >  >
>  > >  >  >
>  > >  >  >
>  > >  >  >  On 4/15/08, Aleksey Shipilev <aleksey.shipilev@gmail.com>
wrote:
>  > >  >  >  > Thanks, Tony!
>  > >  >  >  >
>  > >  >  >  > There is microbenchmark in [1], is it too big for regression
test?
>  > >  >  >  >
>  > >  >  >  > Thanks,
>  > >  >  >  > Aleksey.
>  > >  >  >  >
>  > >  >  >  > [1] https://issues.apache.org/jira/browse/HARMONY-5632
>  > >  >  >  >
>  > >  >  >  > On Tue, Apr 15, 2008 at 7:08 AM, Tony Wu <wuyuehao@gmail.com>
wrote:
>  > >  >  >  > > Hi, Aleksey
>  > >  >  >  > >  I'm looking at 5722. I agree with you on leveraging
the Accessor but I
>  > >  >  >  > >  think it would be good if you can post some micro-benchmark
on this
>  > >  >  >  > >  JIRA so that we can utilize it as regression test
in future.
>  > >  >  >  > >
>  > >  >  >  > >
>  > >  >  >  > >
>  > >  >  >  > >  On 4/15/08, Aleksey Shipilev <aleksey.shipilev@gmail.com>
wrote:
>  > >  >  >  > >  > Hi all,
>  > >  >  >  > >  >
>  > >  >  >  > >  > As you might noticed, there is active work on
serialization
>  > >  >  >  > >  > performance improvements [1]. So far we had committed
4 patches
>  > >  >  >  > >  > concerning scalability and boosted the performance
on multi-threaded
>  > >  >  >  > >  > serialization benchmarks more than 2x times.
And this is not the end
>  > >  >  >  > >  > of the journey: more issues coming.
>  > >  >  >  > >  >
>  > >  >  >  > >  > Dear committers, can you please review and commit
the patches in ready JIRAs?
>  > >  >  >  > >  > I will be happy if these two committed:
>  > >  >  >  > >  >
>  > >  >  >  > >  >  a. [classlib][luni][performance] ObjectInputStream/ObjectOutputStream
>  > >  >  >  > >  > can use optimized API for accessing fields -
available at [2]
>  > >  >  >  > >  > This issue moves the setField/getField functionality
to ObjectAccessor
>  > >  >  >  > >  > utility class. This eliminates one serious problem:
creation of string
>  > >  >  >  > >  > during field name lookup on native side. The
second advantage is that
>  > >  >  >  > >  > this solution checks security on accessor creation
rather than on
>  > >  >  >  > >  > every call (like Reflection API does). This improvement
gives another
>  > >  >  >  > >  > 30-120% boost for serialization workload.
>  > >  >  >  > >  >
>  > >  >  >  > >  > I expect more with rewriting these accessors
on magics, thus
>  > >  >  >  > >  > eliminating JNI overhead and native-side work.
Those who interested in
>  > >  >  >  > >  > this topic, feel free to join in corresponding
JIRA [3].
>  > >  >  >  > >  >
>  > >  >  >  > >  >  b. [classlib][luni][performance] j.u.IdentityHashMap
ariphmetic
>  > >  >  >  > >  > improvements - available at [4]
>  > >  >  >  > >  > After the moving of ObjectStreamClass cache to
ThreadLocalCache [5],
>  > >  >  >  > >  > performance of serialization depends on ThreadLocal
performance and
>  > >  >  >  > >  > then on IdentityHashMap performance. Simple benchmark
shows that
>  > >  >  >  > >  > ThreadLocal performance is devastating: 50x slower
than Sun 1.6.0_05
>  > >  >  >  > >  > [6]. This is very first ready patch from that
chain of issues. It
>  > >  >  >  > >  > brings up +300% boost on ThreadLocal benchmark
and +10% boost to
>  > >  >  >  > >  > serialization benchmark.
>  > >  >  >  > >  >
>  > >  >  >  > >  > Thanks,
>  > >  >  >  > >  > Aleksey.
>  > >  >  >  > >  >
>  > >  >  >  > >  > [1] https://issues.apache.org/jira/browse/HARMONY-5632
>  > >  >  >  > >  > [2] https://issues.apache.org/jira/browse/HARMONY-5722
(ready)
>  > >  >  >  > >  > [3] https://issues.apache.org/jira/browse/HARMONY-5725
>  > >  >  >  > >  > [4] https://issues.apache.org/jira/browse/HARMONY-5718
(ready)
>  > >  >  >  > >  > [5] https://issues.apache.org/jira/browse/HARMONY-5633
>  > >  >  >  > >  > [6] https://issues.apache.org/jira/browse/HARMONY-5703
>  > >  >  >  > >  >
>  > >  >  >  > >
>  > >  >  >  > >
>  > >  >  >  > >  --
>  > >  >  >  > >  Tony Wu
>  > >  >  >  > >  China Software Development Lab, IBM
>  > >  >  >  > >
>  > >  >  >  >
>  > >  >  >
>  > >  >  >
>  > >  >  >  --
>  > >  >  >
>  > >  >  >
>  > >  >  > Tony Wu
>  > >  >  >  China Software Development Lab, IBM
>  > >  >  >
>  > >  >
>  > >
>  >
>
>
>  --
>
>
> Tony Wu
>  China Software Development Lab, IBM
>

Mime
View raw message