tokuhirom/yappo/kazuho/hidekさんあたりが軽量なWAFの開発をなんか熱病に浮かされたかのようにしはじめたので、こりゃ負けてられないとApp::Benchmark::WAFを書きましたよ。

Apache::Testを使って、apacheから実際にHTTPリクエストサイクルを通って、CGIモードとmodperl(メモリに一度載せたらそれを再利用)する状態でベンチを取れるようにした。"make test"とすれば全てのフレームワークに対してab -c 100 -n 1000して計測する。
現在実装している中で、俺のMacBook上での計測値は以下の通り:
[11/13 12:00] # [cgi-app (cgi)]: 22.49 [#/sec] (mean) # [cgi-object (cgi)]: 28.05 [#/sec] (mean) # [cgi (cgi)]: 156.49 [#/sec] (mean) # [http-engine (cgi)]: 2.39 [#/sec] (mean) # [menta-nocompile (cgi)]: 103.25 [#/sec] (mean) # [menta (cgi)]: 123.22 [#/sec] (mean) # [nanoa (cgi)]: 84.84 [#/sec] (mean) # [yacafi-packed (cgi)]: 117.12 [#/sec] (mean) # [yacafi (cgi)]: 110.72 [#/sec] (mean) # [catalyst (modperl)]: 182.26 [#/sec] (mean) # [cgi-app (modperl)]: 809.98 [#/sec] (mean) # [cgi-object (modperl)]: 1194.43 [#/sec] (mean) # [cgi (modperl)]: 1571.60 [#/sec] (mean) # [http-engine (modperl)]: 766.97 [#/sec] (mean) # [nanoa (modperl)]: 857.54 [#/sec] (mean)
まぁ生のCGIとかは正直開発のコストパフォーマンスを考えるといくら速くてもありえないんだけど、ある程度の指標にはなるね。
ちなみにCatalyst/Mojoはまだちゃんと作ってない。明日には多分新しい数値がでてると思う。
これより下は、過去の計測結果。
[11/13 11:00] # [cgi-app (cgi)]: 26.04 [#/sec] (mean) # [cgi-object (cgi)]: 34.93 [#/sec] (mean) # [cgi (cgi)]: 170.54 [#/sec] (mean) # [http-engine (cgi)]: 3.04 [#/sec] (mean) # [menta-nocompile (cgi)]: 118.41 [#/sec] (mean) # [menta (cgi)]: 136.35 [#/sec] (mean) # [nanoa (cgi)]: 108.99 [#/sec] (mean) # [yacafi-packed (cgi)]: 142.30 [#/sec] (mean) # [yacafi (cgi)]: 137.94 [#/sec] (mean) # [catalyst (modperl)]: 223.71 [#/sec] (mean) # [cgi-app (modperl)]: 889.85 [#/sec] (mean) # [cgi-object (modperl)]: 1260.74 [#/sec] (mean) # [cgi (modperl)]: 1754.09 [#/sec] (mean) # [http-engine (modperl)]: 776.04 [#/sec] (mean) # [nanoa (modperl)]: 988.89 [#/sec] (mean)
[11/13 03:00] # [cgi-app (cgi)]: 28.01 [#/sec] (mean) # [cgi-object (cgi)]: 34.92 [#/sec] (mean) # [cgi (cgi)]: 167.27 [#/sec] (mean) # [http-engine (cgi)]: 2.83 [#/sec] (mean) # [menta (cgi)]: 51.60 [#/sec] (mean) # [menta (cgi)]: 60.31 [#/sec] (mean) # [nanoa (cgi)]: 99.48 [#/sec] (mean) # [yacafi (cgi)]: 125.62 [#/sec] (mean) # [catalyst (modperl)]: 148.17 [#/sec] (mean) # [cgi-app (modperl)]: 635.42 [#/sec] (mean) # [cgi-object (modperl)]: 1060.14 [#/sec] (mean) # [cgi (modperl)]: 1406.93 [#/sec] (mean) # [nanoa (modperl)]: 522.71 [#/sec] (mean) # [http-engine (modperl)]: 610.42 [#/sec] (mean)