[Stackless] verify my performance numbers?

Andrew Dalke dalke at dalkescientific.com
Sat Jan 27 02:06:17 CET 2007

On Jan 26, 2007, at 11:16 PM, Max Noel wrote:
> Interesting idea, I hadn't thought of using Stackless to do that.

What I find interesting is that you hadn't thought of this.
And Richard hadn't thought of using monkey patching to replace
existing blocking functions.

So if I may -- what is it that people use Stackless for?

My talk focus is to say it's an alternative to threads which
are more light-weight and scalable, being careful to watch
out for blocking calls.

Do people here have other uses and want me to talk about them?

> All right, here are my results, running OS X 10.4.8 PPC (Dual 2GHz G5 
> Power Mac) with Python 2.5 Stackless 3.1b3:
> threaded: 37.7 seconds (37.7s, 38.3s, 38.5s)
> stackless: 4.2 seconds (4.3s, 4.2s, 4.2s)
> SAX: 2.1 seconds (2.1s, 2.1s, 2.1s)

Comparable scalings, though your box is 4x faster than my old laptop.
I need a new machine.  After 4 years of nearly daily use this machine
is about at the end of its life.

>> I'm happy, and a bit surprised, that the stackless vs.
>> thread solutions are that big.

> It's not that surprising, seeing that the whole point of Stackless is 
> to allow arbitrarily large numbers of microthreads with close to no 
> overhead.

I'm surprised that a single posix thread has an order of magnitude 
I knew the performance bogged down for 100s of threads but didn't 
that it's also that much better on the low end.

There are no timing numbers on the Stackless page to reflect that
aspect of how cool Stackless is.

					dalke at dalkescientific.com

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list