Catalystのオーバーヘッド~prepare_*編結論

|
結論。
  • Catalystでは各種実行環境の差を吸収しているのではなく,伝播させて全部のインターフェースにコピーしている。
  • しかも,実際には使わない値についても,いつでもコピーしている。
  • そのオーバーヘッドが結構でかい。やり方によっては倍は速くなる。--間違い。$c->cgiの省略でエラー起こしていました。

Catalystのオーバーヘッド~FCGI.pmのオーバーヘッド

| |
そうだ。FastCGIのCで書いた最小版のab2も載せておこう。 同じ条件で2.652218秒しかかかっていない。FCGI.pmでのオーバーヘッドも結構あるのかな。 FCGI.pmのシンプルな奴も試してみよう。・・・うん。FCGI.pm自体は大して悪くない。

Catalystのオーバーヘッド~Catalyst::Engine::FastCGIのprepare系

| |
Catalystのオーバーヘッド~Catalyst::Engine::FastCGIの続き。 handlerの準備段階であるprepare_*の詳細を見てみよう。

Catalystのオーバーヘッド~Catalyst::Engine::FastCGI

| |
Catalyst::Engine::FastCGIでHelperが出力したものをそのまんま動かしたときのDProfを取ってみた。 lighttpdからFastCGIをcallし,ab2 -k -c 1 -n 10000した。

drupal-blogのテスト

drupal-blogのテストです。