PHPの構文解析

http://www.rubyist.net/~matz/20070530.html#p08

べつにコレ*1の続きじゃないけれど,「ちょっとこれは...」というPHPのお話.

  • 関心があったのはPHPスクリプトキャッシング。これにより実行速度が1.3から3倍になるのだそうだ。
  • これにより実行速度が1.3から3倍になるということは、単純に計算してアプリケーションの実行時間の23%から67%が構文解析で消費されている必要があるのではないか。
  • たしか、標準状態の PHPリクエストの度に構文解析を行っていたかと思います
  • PHPは毎回構文解析するみたいですね。(PHPからRailsに来た人だとそれではまるらしいです。productionで変更が反映されなくて。)

まぢですか?

インタプリタ言語だから遅い」なんて俗説をふっとばす,脅威のメカニズムですね.*2

*1:http://d.hatena.ne.jp/JavaBlack/20070602/p2

*2:インターネット登場以前に作られた古い言語だとか,Webシステムでの使用を本来想定していなかった言語というのならこの設計も分かるんだけどね.Web系でこの設計はおよそあり得ないと思う.