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 <[EMAIL PROTECTED]> 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