At the Intersection of PHP and Microsoft
Last week I had the good fortune of hearing Rasmus Lerdorf speak at the Seattle PHP Meetup. His talks was excellent – it was sprinkled with history, personal stories, tips, best practices, and insights into what he’s thinking about for the future. At one point, during a section on best practices, he urged everyone to move to PHP 5.3 if they hadn’t already. He added (and I’m paraphrasing here), “If you aren’t running PHP 5.3 on Windows, you’re lucky…because you have a 40% performance boost coming.” He clarified this by saying that, with some help from Microsoft, improvements were made in PHP 5.3 that led to a 40% performance improvement of PHP on Windows. Because he didn’t go into the details of why this performance boost was realized, I got questions in email the next day asking about why. So, here’s a slide from a presentation I did last year that explains why (I actually borrowed this slide from a presentation that Pierre Joye did...you can see his complete presentation, which has more detail, here:http://www.slideshare.net/pierrej):
As you can see from the slide, there are 3 main reasons for the performance improvement:
Clearly, that’s the short answer, but it should give you some idea of why PHP 5.3 is 40% faster on Windows than previous versions of PHP.
Share this on Twitter
This is nice! It will also be interesting to see some benchmark similar to MySQL 5.5's 500-1,500% performance gain over 5.1 on Windows (dev.mysql.com/.../mysql-55-faster-on-windows.html)
Maybe should/could have used mingw GCC--keep things nice and free, and is speed on par with VC9 :)
Interesting. Now I understand the technical reasons why PHP 5.3 is not working on some old versions of Windows like 2k or XP with the first pack(s).
From our benchmarks, PHP 5.3 with WinCache 1.1 is really quite fast on Windows (much better than old PHP 5.2)... Still there is a solutions that performs even better on Windows and it can even run in 64bit mode. www.php-compiler.net/benchmarks
PHP on Windows? Lame. The next thing you know we'll be wanting to run Honeycomb on iPhone.