次世代PHPとして開発が進められているPHP NG (Next Generation)のパフォーマンスがPHP 5.6の2倍近くに到達していることが、ブログ記事「PHP NG now nearly TWICE as fast as PHP 5.6」で判明し話題となっています(Hacker News、Reddit)。
命令削減で高速化
ブログによるとPHP NGはまだ開発のアルファ段階ながら、5.6と比較してパフォーマンス上のブレークスルーを起こしつつあるということ。例えばWordPressのフロントページのレンダリング速度で以下のように2倍近く高速化されています。
- PHP 5.6: 1000回レンダリング / 26.756秒
- PHP NG: 1000回レンダリング / 14.810秒
パフォーマンス向上の秘訣は、60%のCPUインストラクションが、より効率的なコードによって廃止されたこと。以下のようにレンダリングに必要なインストラクションの数が少なくなり、高速化に寄与していることが分かります。
- PHP 5.6: 100回レンダリング: 9,413,106,833インストラクション
- PHP NG: 100回レンダリング: 3,627,440,773インストラクション
PHP NGはHipHop Virtual Machineと比べると設定も容易で、互換性も高いそうなので、既存PHPプログラムもそのまま使える可能性が高そうです。
2015年初頭に安定版ベータ(あるいはRC)がリリースされる予定ということなので期待。なんだかんだいって多く使われているPHPなので、PHP NGがリリースされたらインパクトが大きいかもしれません。