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

> 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:
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: derby-2493-aggregate.diff, derby-2493-aggregate.stat, derby-2493-assert.diff,
> 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.

View raw message