> Your application will get zero benefit from multiple CPUs/cores if you > don't use real threads. On a single CPU (and single core) system, > this doesn't matter much (as you've described).
Maybe I'm totally misunderstanding the sentiment, or maybe I'm just ignorant of the technology, but it is my understanding that apache in a non-threaded environment will spread itself across multiple processes. And in a multiple processor system, those processes will be balanced among the processors available. So, each request will not benefit from the extra processors, but the system as a whole will still have a significant performance gain by virtue of handling more concurrent requests. So, for standalone software, yeah, a threading model is needed. But, for web development (for which Ruby was designed, if I'm not mistaken), the threading would be beneficial, but not totally necessary. The main savings would be the memory footprint, because resources cannot be shared between processes. However, memory footprint concerns from a Java developer seem kind of odd, since Java is a memory hog from what I've seen. Greg /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
