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