Archive for June, 2011

Drupal HH7 project: HipHop for PHP and Drupal 7.4 compatibility patch

Thursday, June 30th, 2011

Another month, another Drupal 7 version. Drupal 7.4 was released some days ago so it’s my turn to announce the next version of Drupal 7.x patch adding support for HipHop for PHP source code transformer.

Drupal HH7 Version: 1.2
Release date: 30-06-2011
Compatible with: Drupal 7.4
Not compatible with: HipHop branches 36a16fb and 6044908 and Drupal 7.0-7.2
Tested on HipHop branch: 806ee06 and earlier

Modules compatibility list can be found at the end of this article. Please report any patch issues in the comments to this annoucement. (more…)

phpMultiServer, a high-performance HTTP server written in pure PHP

Tuesday, June 14th, 2011

This is a sample, high-performance HTTP server written in pure PHP.

Thanks to various optimizations, this server is able to handle more than 800 HTTP requests/second on a dual core laptop (Core 2 Duo 1.6Ghz).

This in turn allows you to create highly efficient PHP scripts with low response times (less than 1ms latency between sending request to launching PHP script).

In result this software is sometimes faster than the Apache HTTP Server (which is written in highly efficient C language). (more…)

Eval() counterparts in PHP: how to do something wrong faster?

Monday, June 13th, 2011

Probably all PHP developers know what is the eval() command, and why it should be avoided.

There are several reasons, but mainly the problem is the safety and efficiency of the script. An additional disadvantage may be lack of support by the compilers of PHP code (for example, HipHop for PHP).

Unfortunately, there are situations where it is necessary to execute dynamically created code. In this article I will focus on performance and faster replacement of eval() command. (more…)

Download VMware image of Fedora 14 Linux with HipHop for PHP installed

Friday, June 10th, 2011

Many articles on this blog describes the performance and functionality of HipHop. Since many readers like the dry facts, I decided that I prepare an image of Linux distribution, which will have a built-in support to PHP code translator. (more…)

Running PHP on NFS: huge performance problems and one simple solution.

Thursday, June 2nd, 2011

Drupal, Joomla and other popular PHP scripts use a PHP language constructs called include_once() and require_once(). This constructs includes other PHP files, but only once. In order to do so, it differentiates between files with their full path using the lstat system call.

Unfortunately this leads to a lot of lstat calls which are not cached using NFS. This in turn can slow down larger PHP applications even tenfold. (more…)