[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: call/cc



   Date: Tue, 11 Dec 2001 19:52:02 -0500 (Eastern Standard Time)
   From: "S. Alexander Jacobson" <alex@shop.com>

   My only point is that there are other ways to get the same advantage
   without the cost in code readability (requiring the programmer to learn
   yet another technique).

I agree that we're diverging from the topic of this list, so I'll keep
this short: for people who are interested in the long-standing issue
of dealing with multiple I/O-oriented tasks concurrencly by using
threads (or coroutines) versus writing in event-driven style; there is
a paper that I thought was very interesting:"SDEA: An Architecture for
Well-Conditioned Scalable Internet Services" by Matt Welsh et.
al. from Berkeley.  It talks about how to build something like a web
server that has to deal with huge numbers of clients, without
suffering throughput degradation and with much more "fairness" than
most servers currently provide.

On one hand, the vision is "really cheap threads" that has been around
since I can rememeber seems to keep falling short; using lots of
threads causes all kinds of overhead.  On the other hand, a purely
event-driven style makes code very hard to read.  SEDA proposes a
middle ground that I think looks attractive.