harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [general][performance] Serialization patches need committer attention
Date Mon, 21 Apr 2008 02:32:25 GMT
Hi,Mark
Thanks for pointing out. To remove this dependency, I think we can
move the ObjectAccessor classes to luni or another separate module.

On 4/18/08, Mark Hindess <mark.hindess@googlemail.com> wrote:
>
> Tony, Aleksey,
>
> This patch works for me on linux from a fresh checkout.  So I suspect
> Tony has a local problem too.
>
> One thing I am cautious about is that this patch (and the earlier patch
> committed as part of HARMONY-5722) add a dependency from misc.jar to
> luni.jar that was not there before.  This is not a problem in itself but
> I think we should discuss such changes on the list before making them.
>
> In this case it probably isn't a big problem since the misc module is
> fairly small and none of the misc dependencies are new to the luni
> module.
>
> Incidentally, isn't the org.apache.harmony.awt.nativebridge package only
> required by the misc module for testing?  Shouldn't the MANIFEST reflect
> this?
>
> Regards,
>  Mark.
>
> On 18 April 2008 at 10:26, "Aleksey Shipilev" <aleksey.shipilev@gmail.com>
> wrote:
> > 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>
wro
> > te:
> > >  > >  >  > Aleksey,
> > >  > >  >  >  I think keep the benchmark somewhere such as JIRA is
also ok.
> > >  > >  >  >
> > >  > >  >  >  7 serialization related errors in Collections2Test
after applie
> > d your
> > >  > >  >  >  patch.  All of them looked like below.
> > >  > >  >  >
> > >  > >  >  >  zeroLengthElementArray
> > >  > >  >  >
> > >  > >  >  >  java.lang.NoSuchFieldError: zeroLengthElementArray
at
> > >  > >  >  >  org.apache.harmony.misc.accessors.ObjectAccessor.getFieldID(Obj
> > ectAccessor.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.jav
> > a:1133)
> > >  > >  >  >  at java.io.ObjectInputStream.defaultReadObject(ObjectInputStrea
> > m.java:433)
> > >  > >  >  >  at java.io.ObjectInputStream.readObjectForClass(ObjectInputStre
> > am.java:1415)
> > >  > >  >  >  at java.io.ObjectInputStream.readHierarchy(ObjectInputStream.ja
> > va:1322)
> > >  > >  >  >  at java.io.ObjectInputStream.readNewObject(ObjectInputStream.ja
> > va:1978)
> > >  > >  >  >  at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInpu
> > tStream.java:821)
> > >  > >  >  >  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:
> > 2130)
> > >  > >  >  >  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:
> > 285) at
> > >  > >  >  >  tests.util.SerializationTester.readObject(SerializationTester.j
> > ava:171)
> > >  > >  >  >  at tests.util.SerializationTester.assertCompabilityEquals(Seria
> > lizationTester.java:142)
> > >  > >  >  >  at org.apache.harmony.luni.tests.java.util.Collections2Test.tes
> > t_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 Ac
> > cessor but I
> > >  > >  >  >  > >  think it would be good if you can post some
micro-benchmar
> > k on this
> > >  > >  >  >  > >  JIRA so that we can utilize it as regression
test in futur
> > e.
> > >  > >  >  >  > >
> > >  > >  >  >  > >
> > >  > >  >  >  > >
> > >  > >  >  >  > >  On 4/15/08, Aleksey Shipilev <aleksey.shipilev@gmail.com>
> > wrote:
> > >  > >  >  >  > >  > Hi all,
> > >  > >  >  >  > >  >
> > >  > >  >  >  > >  > As you might noticed, there is active
work on serializat
> > ion
> > >  > >  >  >  > >  > performance improvements [1]. So far
we had committed 4
> > patches
> > >  > >  >  >  > >  > concerning scalability and boosted
the performance on mu
> > lti-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 pa
> > tches in ready JIRAs?
> > >  > >  >  >  > >  > I will be happy if these two committed:
> > >  > >  >  >  > >  >
> > >  > >  >  >  > >  >  a. [classlib][luni][performance] ObjectInputStream/Obje
> > ctOutputStream
> > >  > >  >  >  > >  > can use optimized API for accessing
fields - available a
> > t [2]
> > >  > >  >  >  > >  > This issue moves the setField/getField
functionality to
> > ObjectAccessor
> > >  > >  >  >  > >  > utility class. This eliminates one
serious problem: crea
> > tion of string
> > >  > >  >  >  > >  > during field name lookup on native
side. The second adva
> > ntage is that
> > >  > >  >  >  > >  > this solution checks security on accessor
creation rathe
> > r 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
ar
> > iphmetic
> > >  > >  >  >  > >  > improvements - available at [4]
> > >  > >  >  >  > >  > After the moving of ObjectStreamClass
cache to ThreadLoc
> > alCache [5],
> > >  > >  >  >  > >  > performance of serialization depends
on ThreadLocal perf
> > ormance and
> > >  > >  >  >  > >  > then on IdentityHashMap performance.
Simple benchmark sh
> > ows that
> > >  > >  >  >  > >  > ThreadLocal performance is devastating:
50x slower than
> > Sun 1.6.0_05
> > >  > >  >  >  > >  > [6]. This is very first ready patch
from that chain of i
> > ssues. 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
> > >
> >
>
>
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message