Snapshot builds can happen multiple times a day (depending on the number of commits on that particular day). As of today, the Windows PHP team trains with every snapshot and release build of PHP binaries. The Windows PHP team currently trains by having a number of PHP applications preconfigured, for both IIS and Apache (on Windows) and then exercising these applications via requesting specific pages (usually several times for the most used pages) in order to get wide coverage. A good training session should exercise workflows that your users will hit most often. This step can be as simple as setting up PHP with IIS or Apache with your PHP application and then accessing the application via a web-browser.
For more detailed instructions on how to set this up take a look at this blog post. After running the configure script just rebuild with ‘nmake snap’. the Instrumentation Phase)įor those of you who would like to get some firsthand experience in doing this, creating an instrumented version of the Windows PHP binaries requires user to pass the additional ‘ –enable-pgi‘ parameter to the PHP configure script.
A few examples of projects this group works on are PHP on Windows, Openstack with Hyper-V, CoApp () and the Linux Integration Services for Hyper-V and Azure. To be precise, this is not the only group at Microsoft that works with open source but amazingly these days is only one of many.
OSTC’s primary goal is to work with open-source communities to help their software interoperate with or run better on Windows Server and Windows Azure. The effort to PGO’ize the Windows PHP binaries was led by Microsoft Open Source Technology (OSTC) group. In addition to this PHP is also used to power a plethora of open source content management system (CMS) such as Joomla, WordPress and Drupal. PHP is heavily used today and it powers millions of websites and webservers. So let’s get started!Īs most of you probably already know PHP is a server side scripting language designed for web development but also used as a general purpose programming language. In addition to this, for experienced PHP users, this blog post should serve as an optimization opportunity to further optimize Windows PHP performance for their specific workloads. Stephen Zarkos ( Program Manager for Windows PHP ) has been kind enough for providing the content for this blog.Īfter reading this blog you folks should be able to further understand and use this case study to introduce PGO for your applications. In this blog I would like to present the story about how PGO is used make official Windows PHP binaries faster. In my last two blogs I provided an introduction to what Profile Guided Optimization (PGO) is all about and a case study which illustrates how PGO is used to make SAP NetWeaver faster. To introduce myself I am Ankit Asthana and I am the program manager for the backend C++ compiler.