My I/O

インプットしたことをアウトプットするブログ

PHPはどのように動くのか~第1、2章感想

PHP内部構造について

PHPスクリプトがどのように解析されて実行されるかということが分かりやすく示されていました。

自分の書いたPHPのコードが解析・実行されるということが、あたりまえのことであるのにほとんど意識したことがないことに少し恥ずかしさを覚えました..。

1章2章を読むことだけでも、

  • 型を意識しない比較
  • 引数の数
  • コメント
  • 同じ実行結果が得られる場合の記述の選択

等々について考えて開発のをすることで、パフォーマンスだけでなくコードの質も変わってくると感じています。

特に引数の数という点については、クラス設計にも関わってくる事柄であり、自分が開発する上でパフォーマンスを考えた設計・プログラミングができるように頑張りたいです。

オペコードとオペランド

主要な構文のオペコード・オペランドが記載されており、目を通すと自分が記述するPHPスクリプトから実行されるオペコード・オペランドがなんとなく想像がつくようになってきました。

気を付けたいと思ったことは、以下です。

  • オペコードの数を減らす意識でコーディングする
  • PHP側(ZendEngine側というのでしょうか)に判断を任すような曖昧なコーディングをしない

本文には、四則演算や比較や条件分岐時等々のオペコード・オペランドの例が記載されていて、この場合はこの理由でコストが高くなる、という解説がありました。

処理速度の計測はサーバスペック・状態・OSパラメータなど、様々な要因に左右されますが、PHPのコードをオペコードまで考えた 定石 の記述を意識してコストパフォーマンスの良いコーディングしたいと思いました。

2章は何度か読み返したい内容です。