From: Urabe Shyouhei Date: 2012-04-09T16:24:26+09:00 Subject: [ruby-core:44214] Re: Questions about thread performance (with benchmark included) #### MRI threads myths and facts ##### Myth1: "Forking processes to run parallel wastes memory" The fact is, no. You can waste memories if you wish, but that is also true for threading. With a careful implementation a process is quite small in memory consumption. If you are in doubt, see how unicorn forks its child processes. Myth2: "Threading boosts your application performance" This is also no. Multi-threaded programming is _very_ difficult to do properly. And if you do it badly, its performance gets even worse than a single threaded one. A multi-threaded application that does scale can also scale much easily by using processes. Myth3: "Threading is the way to go" This is quite doubtful. Multi-threaded programming is too difficult to develop, almost impossible to debug, and normally do not work properly. Multi-threading is too easy to fail. Some restricted model, such as Shared Nothing architecture, seems to have much more potential. Myth4: "We are ignoring Rais" Definitely no. Myth5: "You can make MRI lock-free" Do it yourself if you think so. Patch welcomed.