開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

関連ジャンル

  • 会員限定
  • 2015/11/13

実行速度は2倍以上? PHPの生みの親が語る、10年ぶりのメジャーバージョンアップ

Rasmus Lerdorf氏が語る(前編)

WordpressやFacebookなど、Webのさまざまなサービスで使われているPHP言語。約10年ぶりのメジャーバージョンアップとなる「PHP 7」がもうすぐ登場予定です。PHP 7では互換性を維持しつつ、従来のPHP 5と比べて2倍以上の性能向上やメモリ使用量を低減するなど、大きな改善が実現されます。

Publickey 新野淳一

Publickey 新野淳一

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

 そのPHPの生みの親であるRasmus Lerdorf氏が来日し、10月3日に都内で行われた「PHPカンファレンス2015」の基調講演「SPEEDING UP THE WEB WITH PHP 7」においてPHP 7の新機能や性能について詳しく解説しました。

 その内容をダイジェストで紹介しましょう。

SPEEDING UP THE WEB WITH PHP 7

 PHPの生みの親、Rasmus Lerdorf氏。

photo

 2015年6月で、PHPがリリースされて20年になりました。これが1995年6月の最初の発表なのですが、当時のWebにはいろんな問題がありました。それをPHPで解決しようとしたわけです。

photo

 スクリプト言語を作ったというよりも、あくまで問題解決をしようとした結果なのです。 簡単にフォームが作れる、そういったものがPHPでした。

 私としてはうまくできていると思っていたのですが、当時はだれも気にかけてくれませんでした。

 やがて、私が意図したのとは全く違うやり方で使われ始めました。タグの中にすべてのビジネスロジックを書いていく、という使われ方です。

 そして20年が過ぎ、たくさんの改善を含むPHP 7が出せるようになりました。実際に世界中で使われているPHPアプリケーションの性能が2倍になるのが主な特長です。

キャッシュの保存と抽象構文木

photo

 Persistent Secondary File-based Cacheの採用で、これまで共有メモリにあったキャッシュをディスクにも保存するようにしたため、PHPアプリケーションをリスタートしてもキャッシュの内容がすぐにメモリに展開され、すぐ高速に動くようになります。

photo

 リコンパイルの速度は同等ですが、共有メモリに展開するのは10倍速くなり、ディスクからコンパイル済みのコードを持ってくるのと比べても4倍速くなります。

 もう1つの新しい機能がAbstract Syntax Tree。抽象構文木。これが私のいちばんのお気に入りです。

 各エレメントがシンタックスツリーに入る。このツリーをパースして間違いを探していくようなユーティリティを書くことができます。

 下が私が書いてみたスタティックアナライザ。引数が間違っているというのを見つけています。

photo

【次ページ】 Return Types、Scalar、Null Coalesce Operatorなど

Web開発 ジャンルのトピックス

Web開発 ジャンルのIT導入支援情報

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!