Archive for September, 2009

Windows Cache Extension 1.0 for PHP – Beta release September 2nd, 2009

Vinod Kumar

Today IIS team has released the beta of the Windows Cache Extension 1.0 for PHP. The Windows Cache Extension for PHP is a PHP accelerator, which is used to increase the speed of PHP applications running on the Windows operating systems. Any PHP application can take advantage of the functionality provided by the Windows Cache Extension for PHP without any code modifications. All that is required is that the extension is enabled and loaded by the PHP engine.

Download the same from –

Windows Cache Extension 1.0 for PHP 5.2 – Beta

Windows Cache Extension 1.0 for PHP 5.3 – Beta

Follow the instructions at “Using Windows Cache Extension for PHP” to install, enable and configure the extension.


  • The extension can only be used with non-thread-safe builds of PHP
  • The extension can only be used when IIS is configured to run PHP via FastCGI
  • The Windows Cache Extension 1.0 for PHP 5.3 can only be used with the x86 VC9 build of PHP 5.3.

Benefits and Features

The extension includes three caches that can be enabled or disabled independently of each other:

  • PHP opcode cache – PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server’s CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.
  • File cache – Even with the PHP bytecode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.
  • Relative file path cache – PHP scripts very often include or operate with files by using relative file paths. Every relative file path has to be converted to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving relative paths to absolute paths may negatively impact the application’s performance. The Windows Cache Extension for PHP provides a relative rile path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of relative path resolutions that the PHP engine has to perform.

More information

Continue reading...


Releases from P&P in 2009 September 2nd, 2009

Vinod Kumar

I have been an advocate of the releases from time-to-time as I hear of them over this blog. But I thought I will consolidate the same in one post of all the releases made till date on P&P (Patterns and Practices Team) for your quick reference.

  • Enterprise Library v4.1 is a collection of reusable software components that help developers with common development needs such as logging, validation, data access, and exception handling. They can be used “as is” or extended or modified by developers as needed.
  • Unity Application Block v1.2 is a lightweight extensible dependency injection container with support for constructor, property, and method call injection. It addresses the issues faced by developers engaged in component-based software engineering.
  • Composite Application Guidance for WPF (“PRISM”) v1.0 and v2.0 helps developers build and evolve modular Windows Presentation Foundation and Silverlight client applications. These applications typically include multiple screens and role-determined behaviour and are designed to change over time based on business requirements.
  • Application Architecture Guide v2.0 provides design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.
  • ESB v2.0 helps developers leverage the Microsoft BizTalk Server platform to build a custom enterprise service bus (ESB) for their SOA implementations.
  • SharePoint Development Guidance helps customers accelerate the construction of advanced applications. This guidance helps architects and developers in the following areas: Use SharePoint capabilities to make more powerful applications; Build applications that are easier to scale, maintain and extend; Improve application quality through testing; Improve and accelerate team productivity;
  • Acceptance Testing Guide v1.0 (Beta 2) provides guidance on –
    • How to Plan for Acceptance Testing
    • What Kinds of Acceptance Tests to Run
    • How to Create and Run Acceptance Tests
    • Defining What “Done” Means and
    • How to Justify Your Approach
  • p&p Agile Showcase on MSDN patterns & practices has been using agile development techniques for the past five years. Customers and community asked us to share our experiences and learning. This page lists resources that we’ve used to make our teams more successful.

Hope you will find these useful and in my engagement with various customers I have seen a lot of them using bits and pieces from the P&P framework.

Continue reading...