harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Shipilev (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-5633) [classlib][luni][performance] ObjectStreamClass lookup improvement
Date Mon, 07 Apr 2008 22:51:25 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-5633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Aleksey Shipilev updated HARMONY-5633:
--------------------------------------

    Attachment: serial-lookupClass-RC1.patch

serial-lookupClass-RC1.patch
Proposed patch, clean, does not break specification.
JUnit tests for LUNI passed.

1. Replaces problematic WeakHashMap<Class,ObjectStreamClass> with HashMap<Class,SoftReference<ObjectStreamClass>>.
2. Performs unsynchronized get on fastpath.

Gives +80% boost for MT/SerialBench (see parent issue) on 8-core Clovertown.

> [classlib][luni][performance] ObjectStreamClass lookup improvement
> ------------------------------------------------------------------
>
>                 Key: HARMONY-5633
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5633
>             Project: Harmony
>          Issue Type: Improvement
>            Reporter: Aleksey Shipilev
>         Attachments: 0001-serial-lookupClass.patch, serial-lookupClass-RC1.patch
>
>
> For now, ObjectStreamClass (OSC) is created on-the-fly during serialization/deserialization
and stored in static cache.
> Performance problems arose when several threads doing the lookups, hitting on synchronized
cache. Moreover, the cache is built around WeakHashMap to ensure GC of OSCs. This issue is
the source of scalability problems for multi-threaded serialization benchmarks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message