forの公式通りの最適化 at 低回数 を読んで
「forの公式通りの最適化 at 低回数」というQiitaの記事を読んでみて、自分なりに分かったことをまとめておきたいと思う。
私がPHPのコードを書くとき、いつもfor文を使いたくなる。 C言語やJavaを使っていた時、いつも使っていたからだ。要は「慣れているから」使っている。比較する時に「==演算子」を使ってしまうのも、同じ理由である。
この記事に、for + countの表記方法が書いていた。私はこの書き方が好きである。 全ての配列に対して慣れているfor文を使う手段として、私の中では画期的な方法なのである。
- foreach文との比較結果、foreach文が圧勝
悲しい...
一応言っておくと、私がコードを書く時、「最適化」を意識して書こうとはしている。しかし、それは最初だけで、だんだんと「これくらい良いか」、「面倒だし」、と言って途中からおろそかにしてしまう。 いつも最初に面倒くさがるのはfor文である。これくらいのループ回数ならあまり差が出ないだろう、と言ってついさっきまで心がけていた制約を緩めてしまう。 悪い癖である。
この記事を読んで初めて知ったこと
- for文よりforeach文を比べるとforeach文の方が速い
- echoとprint比べるとechoの方が速い
- printは返り値があるため返り値の無いechoより遅くなってしまうらしい
- 「==演算子」と「===演算子」を比べると「===演算子」の方が速い
- 倍近くの差が出るらしい(逆だと思っていた)
- 型比較もしてくれるので、「===演算子」を使っていくべきだろう
参考文献
forの公式通りの最適化 at 低回数
http://qiita.com/khsk/items/02ace94123baf516c676