Tuesday, August 4, 2009

Performance of Amino Stack

In Amino library, stack is the simplest and yet the most useful component. According to our performance test, Amino's stack is far more faster than a lock-protected stack. Today I rerun the performance test on a 8-core X86-64 machine and result is as shown in below diagrams:










In the performance test, the 1st step is warm-up with 8 threads. That's the reason that first column of every bar charts has a label of "8". After that, we increase the thread number from "1" to "128". The test complete in 1,039.557 second.

The code (Apache license) of LockFreeStack can be downloaded at Amino's SF.net SVN

2 comments:

Guy Korland said...

Did you compare it to the Elimination based stack?
http://portal.acm.org/citation.cfm?id=1007944

James Gan said...

Guy,

We've done such comparison. From throughput perspective, Elimination based Stack is just great. The throughput can double in our test.

The problem is the random response time. Sometimes, an operation takes microseconds. Sometimes, it takes milliseconds.

There is an Elimination based stack in Amino project, under the same directory as our Treiber Stack. Please feel free to download and evaluate it.