MojoのGETパラメータの件を最新バージョンで再ベンチ

前回の続き。
perlcodesamleさんがパフォーマンス改善のパッチを送っていただいたようですので、最新版で再度ベンチマークを取り直してみました。

ベンチマークスクリプト

ベンチマークスクリプトは基本的に前回と同じ。
さらに、$self->req->params を一度保持する方法として
「welcome_tohash2」サブルーチンを追加しました。*1



ベンチマークまとめ

前回と同じバージョンでも、何故か全体的にパフォーマンスが上がっていたので
再度取り直しました。

Mojolicious-0.999926
- パラメータありなし Requests per second(avg)
welcome(default) × 145
welcome(default) 120
welcome_tohash 105
welcome_tohash2 103
welcome_param 58

比率は前回とほぼ同じですね。


こちらが最新版のベンチ。

Mojolicious-github最新版(2010/9/26時点)
- パラメータありなし Requests per second(avg)
welcome(default) × 145
welcome(default) 143
welcome_tohash 136
welcome_tohash2 133
welcome_param 95

考察

最新版では全体的に性能向上が行われています。
やはり、直接$self->paramを利用すると少しばかり劣化していますが、
一度ハッシュに入れてしまえばパラメータの数に引っ張られることはなさそうです。
sfjiwaraさんの$self->req->paramsを使う方法であれば
コードの変更も微々たるものなので、この方法がおススメ。

*1:こちらで提示していただいた方法