JDK-6264015 : Performance improvement to Exchanger and SynchronousQueue
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util.concurrent
  • Affected Version: 6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2005-05-02
  • Updated: 2010-04-02
  • Resolved: 2005-09-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b51Fixed
Related Reports
Relates :  
Relates :  
Description
Doug Lea writes:

Background: Bill Scherer and Michael Scott and I have been
discussing ways to use their "dual data structures".
http://www.cs.rochester.edu/u/scott/synchronization/pseudocode/duals.html

Bill and I have been working on and off doing this for Exchanger and
SynchronousQueue. Exchanger is now ready.

...

The new version is consistently over twice as fast as old one
in the typical case of a single pair of threads using an exchanger,
and is almost arbitrarily faster when used by lots of threads.
For example, eleven times faster with 16 threads on 8way sparc.
It's also better-tested than the old one, since Bill has been
putting together various performance tests to collect data for
tech paper we'll probably write about these and related classes.




###@###.### 2005-05-02 00:37:05 GMT

Comments
EVALUATION Bill be integrated as part of JSR166x. ###@###.### 2005-05-02 00:37:05 GMT
02-05-2005