37
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHPで少しでも速いコードを書きたい時のためのメモ

Last updated at Posted at 2018-02-01

ライブラリ作者にとっては同じ書くなら遅いコードより早いコードを書くことを心掛けたいもの。この記事では忘れがちな速いコードの書き方について外部サイトの記事をまとめたいと思います。
(環境によって違うよなどご意見あればコメントお願いします)

※2018/2/3 追記
この記事は「アプリケーションレベルの実行速度の最適化」を語るものでも、保守性・安全性・拡張性等のパフォーマンスに関する特性以外のコード改善策についてまとめたものではありません。

elseif vs else if

ページ 結論
php elseif と else if の違い elseifが速い

※2018/2/3 追記
else ifとelseは最新のオプティマイザであれば理論上実行時間に差はない。

echo VS print

ページ 結論
PHP速度対決!差が出る5パターン echoが速い

※2018/2/3 追記
echoとprintの理論上の実行時間は同じとなる。

===演算子 VS ==演算子

ページ 結論
PHP速度対決!差が出る5パターン ===が速い

for VS foreach

ページ 結論
PHP速度対決!差が出る5パターン foreachが速い

for VS foreach(イテレータ) VS ジェネレータ

ページ 結論
PHPのジェネレータはイテレータより速い for>>ジェネレータ>イテレータ

if VS switch

ページ 結論
PHP速度対決!差が出る5パターン switchの方が少し速いがほぼ同じ
stackoverflow 場合による

こちらのページではPHP7.2からswitchのoptimiserが実装され、固定値のラベルに限りジャンプテーブルに変換されるようなので、固定値でたくさんのラベルを書く場合はswitchが有利になるケースもあるかも。

そもそも「switch文を使ってはいけない」という話もありますが...

(以下、随時追加予定)

37
44
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
44

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?