前田です。

At Mon, 9 Sep 2002 21:35:03 +0900,
MoonWolf <moonwolf / moonwolf.com> wrote:
> >  Apacheと同じプロセスで動作するmod_rubyが一番速いと思ったら、別プロセス
> > で動作するFastCGIの方が3倍以上も速いです。
> 
>  Apache::RubyRun経由だと、リクエスト毎にExecCGIやパーミションの確認、ス
> クリプトのロード、パースが行われるから遅いのではないかと思ったので、
> RubyHandlerとして実装してみました。
> 
>  以下のスクリプトをEchoハンドラとして定義し、前回と同じ条件でベンチマー
> ク計測したところ、409 Request/secと5倍以上も速くなり、一気にFastCGIを追
> い抜くことが出来ました。
>  スクリプト修正毎にApacheの再起動が必要になるなど手間はかかりますが、ど
> うしても速度が欲しい時にはハンドラを書いてみてはどうでしょうか?

そんなに違うんですね。
mod_rubyはFastCGIより遅いものだと思っていました。
実際のアプリケーションでは条件によって変わってくると思いますが、
場合によってはmod_rubyの方が速い可能性もありますね。

At Mon, 9 Sep 2002 21:44:29 +0900,
Tietew <tietew-ml-ruby-list / tietew.net> wrote:
> 思ったんですが,node.h で rb_compile_XXX が公開されているのでパー
> ス後の NODE* は得られるんですよね。じゃあ,rb_eval も呼ばせてく
> れれば NODE* をキャッシュすることで両者の間が取れるんじゃないで
> しょうか。もっとも,rb_load はもっと色々な処理をしてるんで一筋縄
> ではゆかないと思いますが。

ただ、ほんとにパースしてる部分がボトルネックなのかなあという疑問
はあります。
# 私も計測してないのでエラソーなことは言えませんが;-p

-- 
前田 修吾