LaravelがMacの上で遅いのならば

タグ: Laravel3  

Laravelがとても遅いとか、重いとかまずありません。

現実にはあまり役に立ちませんが、Hello Worldだけを出力するベンチマークテストの結果を見ても、フルスタックのPHPフレームワークにしては早い方です。

これは仕組みが単純で他のフレームワークに比べれば、準備のために読み込むファイルの数やら、量やらが少くて済んでいるからです。(この点、Laravel4では、多少速度は落ちることでしょう。composer上で動作するようにするため、多少複雑になりました。でもそれはfuelphpやsymphonyなど、composerでサポートされることになるフレームワークであれば同様ですね。)

ところが、特定の環境でLaravelが遅いという投稿が、ちょくちょくフォーラムに出されています。Macでローカルに開発している時だけに、起きているのです。

これを調べた人がいますが、Laravelには何の落ち度もなかったそうです。Macの開発者の中にはローカルで開発するときのダミードメイン(マシン名)に.localをつける人がいるそうで、それがOSの何かと干渉しているだけだそうです。

開発環境のドメインにつけている.localをLaravel標準の.devに変えるだけで解決されるそうです。(もちろん、自分で設定すれば別の名前も使用できます。)感想も、「スーパー早い」に変わるようですよ。

Win7/8でも、たまにあるのですが、セッティングのケアレスミスです。

時々、Laravelは出力を全部キャッシュするから、動作が重たいと考えている人もいらっしゃるようですが、それは違います。キャッシュされるのはBladeテンプレートエンジンを使用した場合に、Blade構文を通常のHTMLへ変換した結果です。これは、どのテンプレートエンジンでも通常行なっていることです。毎回変換が行われるのを防ぐためです。特にFuelPHPと比べて早いと言っている方もいらっしゃいますが、残念ながらFuelPHPはデフォルトで全出力をフィルターに通していますから、安全面はともかく、オーバーヘッドは大きく、その分重くなっているはずです。ですが、出力におけるこの程度の手間は、現在のサーバースピードでは、フレームワーク全体の重さを決めるほどではないため、これだけで優劣を判断することはできません。

そもそも、問題になるほど遅ければ、急激に人気を得るはずはありませんからね。