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

call/cc




Here's the single most practical reason why I love call/cc: Web
application servers et filia.

- NThreads > CPUParallelism is a bad condition for high performance IO
  systems.  Examples abound in which naively implemented fully 
  asynchronous I/O engines beat the pants off of highly tuned 
  multithreaded servers, up to the limit of 1 CPU.  

- Introducting threads is an engineering/business error, in an
  environment with a single physical resource.  It introduces a 
  raft of maintenance problems, particularly in the presence of 
  maintainer-churn, from non-determinism to synchronization

- It is a nightmare of complexity to implement generator and sink
  modules for any fully asynchronous single-threaded I/O engine.  Try
  to integrate PHP into mathopd, for example, and weep.