こんにちは! どんどんえこひいきしていきましょう! というわけで、後篇のこの記事では最適化の恩恵が受けられる場合において、どのような関数がその対象になるのかを見ていきましょう。 コードを読む 関数の最適化を担っているのは zend_try_compile_special_func 関数です。 プログラムを読める人ならこれを見てもらえれば何をやっているのかは一目瞭然なのですが、せっかくなので紹介していきましょう。 strlen() 言わずと知れた文字列長を返す関数です。より正確に言うならバイトシーケンスの長さを返すのですが、今回の最適化とは直接関係がないので置いておきましょう。 この関数は引数が strlen('str') のようなリテラルだったらその長さ(つまり3)に展開します。そうでない場合(変数や式など)の場合はSTRLENという専用命令にコンパイルします。また、strlen()自体が