From: Wolfgang Keller <wolfgang.nospam@gm...> - 2004-12-13 10:43:23
> This note is partly to check if this is really your e-mail address!
> Classical allusions...!
It is - that's the trick. :-)
> I am curious about whether you are suggesting that Stackless Python
> would be a better base for building an FBP environment, as compared
> with, say, Java.
Stackless is excellent for every kind of application that needs to handle
asynchronous threads. Especially for I/O-bound applications, where each
thread usually wastes a lot of time waiting for something, you can
enormously speed up things by using _lots_ (tens or hundreds of thousands)
of threads in parallel and thus "interleaving" the waiting time, so that
there's always at least one thread which has everything it needs to
Another issue (which you address in
http://www.jpaulmorrison.com/fbp/method.htm if I understood it right):
Python is not only an excellent "middleware" language (as it interfaces
with practically everything easily, including Java and .net), it's also an
excellent prototyping language, with development times which are typically
a fraction of those for the same application in Java. And once the Python
prototype is finished, all you have to do to turn it into a productive
application is to profile it and re-implement those modules which are
considered too slow for example with Pyrex, which gives your "prototype"
native C(++) speed.
> I would assume that ports and the network definition
> would have to be added. I didn't get much out of Christian Tismer's
> web site..
Unfortunately he's too busy earning his live and trying to keep the
Stackless implementation in sync with the "mainstream" Python versions. :-(
> What on earth is Pickling? :-)
A very simple Python persistence/serialisation module.
> Also, as I posted on SourceForge and the wiki, what is so great about
> getting rid of stacks - or am I reading too much into "stackless"? :-)
The name of "Stackless" is somewhat misleading (or at least bad PR ;-).
Getting rid of the C stack in Stackless is just a means for the aim of
handling a lot of concurrent tasklets (=microthreads) with reasonable
ressource requirements. IMHO Stackless should be renamed into something
like "Microthreaded Python" "Parallel Python" or something like that... Or
even better, the main Python implementation should be "Stackless"ed. :-)