db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2493) Use unsynchronized collections in BackingStoreHashtable
Date Thu, 29 Mar 2007 14:40:25 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485198
] 

Knut Anders Hatlen commented on DERBY-2493:
-------------------------------------------

In my experience, things have become much better, especially in 1.6. Since the monitors in
this issue are uncontended, I wouldn't expect any significant performance improvement on 1.6
(but I still think it's good to get rid of unnecessary synchronization). For contended monitors,
the benefit would be greater even on 1.6. For instance, Olav's nightly performance tests (http://home.online.no/~olmsan/derby/perf/)
show significantly improved performance for many of the multi-user tests between March 17
and March 18. That improvement was caused by Dyre's patch to DERBY-2114, which reduced some
double synchronization by replacing a Hashtable with a HashMap in Clock. Similar effects were
seen when replacing Hashtables with HashMaps in the lock manager.

I haven't done much testing with 1.4 lately, but there are some graphs attached to DERBY-2327
which show the difference between 1.5 and 1.6, comparing an approach using a HashMap inside
a synchronized block with an approach using a ConcurrentHashMap. The difference between the
two approaches is much greater on 1.5 than on 1.6, mainly because synchronization has become
cheaper.

> Use unsynchronized collections in BackingStoreHashtable
> -------------------------------------------------------
>
>                 Key: DERBY-2493
>                 URL: https://issues.apache.org/jira/browse/DERBY-2493
>             Project: Derby
>          Issue Type: Improvement
>          Components: Performance, Store
>    Affects Versions: 10.3.0.0
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: derby-2493-aggregate.diff, derby-2493-aggregate.stat, derby-2493-assert.diff,
derby-2493-assert.stat
>
>
> BackingStoreHashtable uses a Vector and a Hashtable, but doesn't need the synchronization
provided by these classes (I think). Replacing them with ArrayList and HashMap could improve
performance for some kinds of operations.

-- 
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