You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Aleksey Shipilev (JIRA)" <ji...@apache.org> on 2008/03/23 20:55:24 UTC

[jira] Updated: (HARMONY-5633) [drlvm][performance] ObjectStreamClass lookup improvement

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

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

    Attachment: 0001-serial-lookupClass.patch

0001-serial-lookupClass.patch
Basic POC patch for this issue:
 - stores the OSC in Class field
 - creates one OSC per Class on demand

Pitfalls:
 1. Breaks specification (public fields/methods in Class) - need to implement backing storage in o.a.h.*
 2. No weak references here. Need to wrap the OSC instance with WeakReference.

> [drlvm][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
>
>
> 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.