Slide 35
Slide 35 text
When we aren't looking for pictures of kittens on the internet, internals developers are
nearly always looking for ways to improve PHP, a few developers have a focus on performance.
Over the last year, some research into the possibility of introducing JIT compilation
capabilities to PHP has been conducted.
During this research, the realization was made that in order to achieve optimal performance
from PHP, some internal API's should be changed.
This necessitated the birth of the phpng branch, initially authored by Dmitry Stogov, Xinchen
Hui, and Nikita Popov. This branch does not include JIT capabilities, but rather seeks to
solve those problems that prohibit the current, and any future implementation of a JIT
capable executor achieving optimal performance by improving memory usage and cleaning up some
core API's.
By making these improvements, the phpng branch gives us a considerable performance gain in
real world applications, for example a 20% increase in throughput for Wordpress. The door may
well now be open for a JIT capable compiler that can perform as we expect, but it's necessary
to say that these changes stand strong on their own, without requiring a JIT capable compiler
in the future to validate them.
The name "Next Generation" was optimistically presumptuous; in reality phpng is an internal
project that we are working on, it is not a production ready branch that anyone should
deploy, or judge as they would a release of PHP.
The work on phpng, the doors it opens, the conversations it has started, the collaboration it
is inspiring, are all worth getting excited about. But, we need to stay grounded, honest, and
open; and say that there is much work to do in order to make the "Next Generation" a reality,
this is only the start.
May 27th 2014 by Joe Watkins