First of all, I'll apologize for the top-post. My DROID doesn't give me the option of top or bottom. So not ready for enterprise. Secondly, I'll append to the statements made by Larry that, unless it's non-web based, there are far more layers involved before, during, and after PHP's execution. Threading is fantastic.... if you're not relying on several other components (which are likely non-threaded themselves). On Mar 23, 2010 7:27 PM, "larry@xxxxxxxxxxxxxxxx" <larry@xxxxxxxxxxxxxxxx> wrote: On 3/23/10 6:04 PM, Tommy Pham wrote: > If throwing hardware at it won't work because of the above ... The word "enterprise" is meaningless in this context because it provides no context for the distinction. What does "enterprise" mean? Gets Captain Kirk to his next date? Is OpenOffice.org's plugin download site enterprise? Is Sony BMG enterprise? The sites for the cities of London and Athens? Whitehouse.gov? That's just a couple of sites now running on Drupal, a particular single-threaded PHP application. That's not counting the thousands of similar organizations running PHP (not even PHP-wrapping-custom-C like Yahoo) applications of various and sundry kinds. (Wikipedia anyone?) PHP *is* in the enterprise and quite happy there. "Not ready for the enterprise" is a totally meaningless statement. Similarly, if you cannot think of any way to scale an application that doesn't involve threads then I question your competence as a programmer. Sure, threads can be one way to speed things up. There are lots and lots of others that may be more or less appropriate depending on the circumstances. Threads have their own scaling issues, namely they have to live within the same process on the same box. That means when you hit the maximum size of your server, you're done. That doesn't mean threads are bad, but they have their trade-offs just like everything else does. But let's consider what adding threads to PHP would take. That would mean making PHP a shared-memory architecture, so that different requests now operated in the same memory space. That means RAM-based persistence. That means needing to write thread-safe PHP libraries. (Not the ones in C; I mean the millions of lines of code of PHP already out there.) In short, adding threading support to PHP means PHP is no longer PHP. It's Java with dollarsigns. It's a complete and total rewrite of the entire language runtime and environment, and all of the code build atop it. The idea that you could "just add threads" to PHP and make it "enterprise-ready" is so naive it's mind boggling. --Larry Garfield -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub...