harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Salishev" <sergey.i.salis...@gmail.com>
Subject Re: [general][performance] Serialization patches need committer attention
Date Fri, 18 Apr 2008 17:15:31 GMT
Mark,

You are correct about dependency to nativebridge. The misc module itself is
self sufficient, only the test depends on nativebridge. To my surprise the
StringAccessor test is the only test present in misc module. So probably the
best solution is to move the test to awt module and remove the dependency at
all. Other solution is rewriting the test using vmmagic Address instead of
nativebridge.

Thanks.
Sergey.
On Fri, Apr 18, 2008 at 5:01 PM, 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
> > >
> >
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message