On 3/23/10 6:04 PM, Tommy Pham wrote:

If throwing hardware at it won't work because of the above mentioned,
then you would change the design right?  How long would that take?
What if PHP has threads, how long would it take you implement threads
with minor changes versus and overhaul of application design, coding,
QA, etc... In summary, you're saying that PHP can not grow/evolve with
business right?  If the company started small and want to use
available open source solutions, then grow quickly because of their
unique and quality products and services, and become enterprise level
with-in a few years, what then?  Slow down business growth just so
that IT can migrate everything to another language? Of all the
enterprise applications I've seen, they used threads.

Regards,
Tommy

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.php

Reply via email to