|
必聴講座ご紹介 Cloud Days Tokyo 2012 エムオーテックス Cloud Days Tokyo 2012 ヴイエムウェア Cloud Days Osaka 2012 アマゾン データ サービス ジャパン |
|
|
| 図1●データベース共通API「PDO」の構成 |
PDOは,図1[拡大表示]に示すように各データベースに共通な機能を実装したpdoエクステンションと各データベース固有の機能を実装したエクステンション(pdo_データベース名)の2分割構成となっている。インストールする際には,この両者をエクステンションとしてインストールする必要がある。
PDO自体は高度なデータベース抽象化レイヤーを提供するわけではないが,PHP5のオブジェクト指向APIに基づき関数APIが共通化されることは,従来,データベースごとに似て非なる関数APIを使用せざるを得なかったユーザーにとってメリットとなるであろう。
PHPスクリプトは,実行される際にいったんコンパイルされて,VM(仮想マシン)用のバイトコードに変換された後,実行される。この仮想マシンは,PHPのスクリプトエンジンであるZend Engineに実装されている。PHP Watch第2回に記述したように,現在使用されているPHP用の仮想マシンには実行効率の点で改良の余地があることが,昨年,PHPのコアな開発メンバーであるThies Arntzen氏とSterling Hughes氏により示されている。
|
|
図2●ベンチマーク・テスト結果 実行環境はFedora Core 1 Linux |
今回,この際の改良点のいくつかが,PHP 5.1用のZend Engine 2の実装に取りこまれるなど,複数の改良により仮想マシンの実行効率が大幅に向上した。改善効果を表すためにPHP4およびPHP5の最新版とPHP 5.1.0の開発版との比較を行ったベンチマーク・テスト結果を図2[拡大表示]に示す。このベンチマーク・テストは,ZendEngine2のソースコードに付属(ZendEngine2/bench.php)し,素数生成などのアルゴリズムや関数コールやループなどの基本的処理に関する18種類のテストからなるものでである。
この結果を見ると,PHP4およびPHP5の最新版に対してほぼすべての項目で実行速度が向上し,合計で2倍程度高速化されていることが分かる。実際のアプリケーションの実行時間の支配要因は,外部ライブラリによる処理や,データベース処理などであることが多く,こうした仮想マシンの改良がそのままアプリケーションの実行速度の大幅向上に結びつくわけではないが,PHP 5.1の実行速度が従来よりも高速化されることは間違いないであろう。
PHP 5.1のリリース時期は未定であるが,開発がこのまま順調にいけばリリース候補1版が間もなくリリースされる予定となっている。
続いて,PHPでWindowsのGUIを開発できる「WinBinder」の概要と使用方法を解説しよう。