とほほのN88-BASIC日記 このページをアンテナに追加 RSSフィード

2008-11-12

Perlの軽量ウェブアプリケーションフレームワーク最新事情

前代未聞のPerl軽量ウェブアプリケーションフレームワーク祭りの中、いかがお過ごしでしょうか?

紆余曲折があってこんなことを言ってたわりに何もしてないでぼーっとしている間に、腕に覚えのある兵達が我も我もと手を動かしてくれたので、申し訳なさ半分で懲りずにベンチマークを取ってみました。

みんな基本的に軽量なフレームワークをうたっていて、開発効率よりも軽さや配布のしやすさを売りとしているので特に問題ないと思います。

比べたのは上の3つと

です。

一応ゆるいルールを決めました。

結果は

-Requests per second:
素のCGI99.72 [#/sec]
MENTA80.15 [#/sec]
Yacafi66.15 [#/sec]
NanoA51.20 [#/sec]
CGI.pm23.29 [#/sec]
CGI::Application18.38 [#/sec]

ベンチマークに使ったソースと結果はCodeReposに置いてあります。

結果として特筆すべきは、コンパイル作業を行う手間がかかるけど、MENTAの速度が驚異的ということです。これは他を圧倒して、かつ素のcgiに迫る勢いです。さらにMojo::Templateをベースにしたテンプレートエンジンや、プラグイン機能、開発用スタンドアロンサーバーなども含んでおり、開発時にはそれなりの開発効率を見込めるフレームワークになっています。

YacafiはYacafi.pmとindex.cgiの編集だけでよく、もっともポータビリティが高い印象を受けました。また更にpackして一つのファイルにすることもできるのですが、これによるパフォーマンス改善はさほど見られなかったです。もちろん更にポータビリティは上がるので、そのような用途にはいいですね。

NanoAは3つの中では一番パフォーマンス的には劣りましたが(とはいえ、十分に速い)、CGI::Applicationのディスパッチテーブル無し版のような書き方が出来るのは作者のid:kazuhookuさんのCGI::Applicationへの愛が感じられます。また、最新版ではMojo::Templateを使ったPHPライクな書き方もサポートしておりビューを含んだベンチではどうなるかというのも興味があります。

どのフレームワークにも言えることは

です。

ちょっとしたお問い合わせフォームやアンケート程度だったらCatalystなんて大きすぎるので、このような軽量・高速フレームワークの検討をするのもいいと思います。

hide-Khide-K 2008/11/13 14:20 ログインした状態で自分のはてなダイアリを開いて右上にある管理をクリックしてデザインを選択したら色々選べると思いますよ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証