forの公式通りの最適化 at 低回数 を読んで

「forの公式通りの最適化 at 低回数」というQiitaの記事を読んでみて、自分なりに分かったことをまとめておきたいと思う。

私がPHPのコードを書くとき、いつもfor文を使いたくなる。 C言語Javaを使っていた時、いつも使っていたからだ。要は「慣れているから」使っている。比較する時に「==演算子」を使ってしまうのも、同じ理由である。

  • for文とforeach文の速度の比較結果はforeach文の勝利
  • 「==演算子」と「===演算子」の比較結果は「===演算子」の勝利

この記事に、for + countの表記方法が書いていた。私はこの書き方が好きである。 全ての配列に対して慣れているfor文を使う手段として、私の中では画期的な方法なのである。

  • foreach文との比較結果、foreach文が圧勝

悲しい...

一応言っておくと、私がコードを書く時、「最適化」を意識して書こうとはしている。しかし、それは最初だけで、だんだんと「これくらい良いか」、「面倒だし」、と言って途中からおろそかにしてしまう。 いつも最初に面倒くさがるのはfor文である。これくらいのループ回数ならあまり差が出ないだろう、と言ってついさっきまで心がけていた制約を緩めてしまう。 悪い癖である。

この記事を読んで初めて知ったこと

  • for文よりforeach文を比べるとforeach文の方が速い
  • echoとprint比べるとechoの方が速い
    • printは返り値があるため返り値の無いechoより遅くなってしまうらしい
  • 「==演算子」と「===演算子」を比べると「===演算子」の方が速い
    • 倍近くの差が出るらしい(逆だと思っていた)
    • 型比較もしてくれるので、「===演算子」を使っていくべきだろう

参考文献

forの公式通りの最適化 at 低回数
http://qiita.com/khsk/items/02ace94123baf516c676