Web アプリのボトルネックはテンプレートシステムにあり

Ruby のネタがないので Python でお茶をにごす。

Python の速度を 5 倍速くするという目標を掲げている unladen-swallow というプロジェクトがあるんだけど (日本語はこちら)、その中に次のような一節があった。

Unladen Swallow's benchmark suite is focused on the hot spots in major Python applications, in particular web applications. The major web applications we have surveyed have indicated that they bottleneck primarily on template systems, and hence our initial benchmark suite focuses on them:

Unladen Swallowのベンチマーク集は、主要なPythonアプリケーション、特にウェブアプリケーションホットスポットにフォーカスしている。我々が調査した主要なウェブアプリケーションでは、主にテンプレートシステムがボトルネックであると分かった

Google Code Archive - Long-term storage for Google Code Project Hosting.

(翻訳は日本語訳より引用、強調は筆者)


もちろんこれはデータベースアクセスを除いたベンチマークだろうけど、それでもこのことを言い切ったのは注目に値する。

これは Python のプロジェクトだから調査対象には当然 Django が入っている。そして Django のテンプレートエンジンがボトルネックになっていることに気づいたのだろう。

Django のテンプレートエンジンはむちゃ遅いんだよね。機能も、テンプレート継承以外は見るべきものもないし。正直、Google が AppEngine でなぜあれを採用したのかわからん。スピードにこだわる Google だからこそ、Django はやめてほしかった。


で、何がいいたいかというと・・・

テンプレートエンジンは重要だからマイナーなセッションにも参加しましょうね