On Tue, Jan 29, 2013 at 12:36 PM, Zeev Suraski <z...@zend.com> wrote:
>> Laziness and design mistake. Everything on windows (AD,IIS, asp.net, etc) >> uses thread. >> >> And no, nuts is not faster. I am not talking about PHP zts, but in >> general. > > > Of course everything that is Windows native uses threads, but I don't > believe any language that is single-threaded on other platforms - has a > thread safe version for Windows. Python, for example, is thread safe by default. Extensions developers can rely on its APIs to write TS code. Our core is designed in a way that it is painful to have to deal with two code bases. That's what causes troubles, not really something else. > I disagree that laziness and design mistakes are what makes ZTS slower. > It's slower by design, since instead of relying on operating system > isolation - you have to emulate it yourself in userland code. It was and still is a lazy and design mistake to have focused on FastCGI to support PHP on IIS more easily, while everything else in this stack uses what the whole OS stack does. > Contrary to popular belief FastCGI actually works very very well on Windows, > and has substantial advantages over using a server module - even on Linux > (it's no coincidence that there are hoards of users migrating from Apache to > nginx, where a server module isn't even an option - and they're seeing > better performance, not worse). I never said that FastCGI does not work well. But that doing so will never allow us to reach the performance we could get using a more suited implementation. About nginx vs Apache, I'm also quite sure that we can get an Apache SAPI module performing as good as nging with FPM. It is only almost impossible with the current implementation of PHP, we both know that. We have seen examples in the past already where well optimized php and apache were as fast as lighttpd (back then) with a correct setup. Again, giving up on thread safety is a major mistake. Cheers, -- Pierre @pierrejoye -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php