BT

静的な型付けによる高パフォーマンスなPHP

| 作者: Jonathan Allen フォローする 530 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2013年6月3日. 推定読書時間: 1 分 |

原文(投稿日:2013/05/29)へのリンク

PHP+QBは、PHP用の代替の仮想マシンで、パフォーマンスで大幅な改善がされる、と言っている。欠点は、あらゆるものが静的に型付けされる必要があり、配列に厳しい制限がつくことである。

静的な型宣言がPHPDoc シンタックスへの拡張を介して追加された。 “@engine qb”のタグが付いたメソッドは、PHP+QB VM上で実行されるべきであることを示している。次に普通のPHPDoc シンタックスを使って、返り値、パラメータ、グルーバル変数に型でタグ付けする必要がある。ローカル変数は、@localを使って宣言される。

 

PHP+QB の配列は、普通の PHP 配列と似ていない。ドキュメントによると

PHPの配列は、高度なデータコンテナだ。その中に何でも入れることができる。要素は、テキスト文字列または数字で参照することができる。異なる要素が実際には同じオブジェクトである可能性がある。配列も、それ自体を持つことができる。非常に複雑かつ有用な構造は、PHPの配列を使用して構築することができる。このパワーと柔軟性は、しかし、コストがタダではない。何百万に番号付された要素を操作するときのパフォーマンスとメモリのオーバーヘッドが耐え難いほど高くなる可能性がある。

それに比較して、PHP + QBの配列は非常に単純だ。それらは、一般的にC-配列と呼ばれているものだ。本質的には、PHP + QBの配列は、単にメモリの塊である。その要素は、単に順番に格納されている。数値インデックスのみを使用してそれらを参照することができる。通常のPHPと違って、挿入の順序は、PHP + QBでは関係ない。PHP + QBでのforeachループ内では、 $array[0] はいつも$array[1] の前にくる。

PHP+QB の配列は、固定サイズでも拡張可能にもなる。拡張可能配列は、要素が取り除かれた時に自動的に小さくならない。そのためには、unset()を呼ぶ必要がある。

エンジンは、符号付きと符号なし整数型の最大範囲を32と64ビット浮動小数点型と同様にサポートする。文字列は、整数の配列として表される。PHP + QBをサポートするためにタグ付けされたメソッドはまだ$this変数の属性にアクセスできるが、オブジェクトは、サポートされていない。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT