On 18/Nov/2009 03:09, James Gan wrote:
> I'm wondering if there is use case in Harmony for several scalable
> components in Amino library. You can see its scalability curve in following
> posts:
>
> http://aminoprj.blogspot.com/2009/08/performance-of-amino-stack.html
> http://aminoprj.blogspot.com/2009/08/lock-free-deque-in-amino-project.html
> http://aminoprj.blogspot.com/2009/08/performance-of-amino-queue.html
>
> If they can benefit users of Harmony, I'll like to contribute them to
> Harmony project. Thanks!
I suspect you have already found the obvious one, in ReferenceQueue
where I think we can get noticeable advantages from your scalable
implementation.
A simple grep of the code shows limited use of Stacks and Queues
elsewhere. You'd have to look a bit closer to see if these data
structures are used heavily,
beans/src/main/java/java/beans/XMLDecoder.java
27:import java.util.Stack;
beans/src/main/java/org/apache/harmony/beans/Handler.java
23:import java.util.Stack;
swing/src/main/java/common/javax/swing/text/DefaultStyledDocument.java
32:import java.util.Stack;
swing/src/main/java/common/javax/swing/text/html/FormViewUtils.java
22:import java.util.Stack;
swing/src/main/java/common/javax/swing/text/html/HTMLDocument.java
30:import java.util.Stack;
swing/src/main/java/common/javax/swing/text/html/HTMLWriter.java
29:import java.util.Stack;
swing/src/main/java/common/javax/swing/text/html/parser/ParserCup.java
216: java.util.Stack stack,
307: java.util.Stack CUP$ParserCup$stack,
swing/src/main/java/common/org/apache/harmony/x/swing/text/html/form/FormRootOptionGroup.java
22:import java.util.Stack;
swing/src/main/java/common/org/apache/harmony/x/swing/text/rtf/DocumentRTFHandler.java
21:import java.util.Stack;
swing/src/main/java/common/org/apache/harmony/x/swing/text/rtf/RTFParser.java
5:import java.util.Stack;
swing/src/main/java/common/org/apache/harmony/x/swing/text/rtf/RTFParserTokenManager.java
4:import java.util.Stack;
concurrent/src/main/java/java/util/concurrent/BlockingQueue.java
10:import java.util.Queue;
13: * A {...@link java.util.Queue} that additionally supports operations
concurrent/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
148: * {...@link java.util.Queue} classes, and {...@link LockSupport} blocking
concurrent/standard/src/main/java/java/util/concurrent/BlockingQueue.java
10:import java.util.Queue;
13: * A {...@link java.util.Queue} that additionally supports operations
concurrent/standard/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
153: * {...@link java.util.Queue} classes, and {...@link LockSupport} blocking
Regards,
Tim