Hi!
The filesystem issues are mostly due to what we do in TS mode, way too much pointless operations, even if the real cache helps a little bit here (take this comment with a bit of salt: as in delta with the cache between TS and NTS).
What we do in TS mode with filesystem that could explain the difference to Linux? The filesystem problem is just that something like file_exists() (which a lot of apps use very extensively) takes a lot more time, and it's not cached by anything above the OS. And even with the OS cache on Windows such operation is significantly slower.
However, thinking that you can get anything close to what we have on unix using processes is a sweet dream, which will become a nightmare once you realized that past the little usual tricks, nothing will help you to go further (and we are there already). Any windows developers know that windows is not designed to perform well using processes. No real surprise either that almost all apps able to compare with their unix equivalent uses threads (only or in critical parts).
The only way we can be faster in threaded model if we don't do a full context switch (i.e., if we don't fully isolate one thread from another) - otherwise we'd be just emulating OS code doing the same thing but by slower user-level means (that's effectively what we do with ZTS because we have no choice there). I can't even begin to imagine how PHP engine could work without full thread isolation. I'm afraid if I think about it more I'd get nightmares. But if you think it's possible you are very welcome to try.
-- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php