去年の関西オープンソースの発表の時に、「高速化のためにテンプレートエンジンを変更するかも?」と言ったのですが、Amrita のかわりに erb を使ってどれくらい速くなるか実験してみました。
まずはとりあえず view だけ使えるようにして、TextFormattingRules のページで比較してみました。
* amrita Requests per second: 1.30 [#/sec] (mean) Time per request: 770.089 [ms] (mean)
* erb Requests per second: 1.66 [#/sec] (mean) Time per request: 601.865 [ms] (mean)
およそ 28% アップ (当社比) です。TextFormattingRules は内容が長いので、テンプレートの展開よりも、パースと HTML フォーマットにかかる比率が大きいのですが、それでもこれくらい速くなるのだったらちょっと魅力的 (ちなみにデフォルトの FrontPage で比較すると 32% アップ)。
さらに、mod_ruby 環境で比較すると、こんな感じ。
* amrita Requests per second: 2.80 [#/sec] (mean) Time per request: 356.530 [ms] (mean)
* erb Requests per second: 3.84 [#/sec] (mean) Time per request: 260.611 [ms] (mean)
およそ 36% アップ (FrontPage だと 68% アップ) です。
ただ、view 以外も erb を使うようにするには、けっこう変更が膨大なので、時間はかかりそうです。あと、そもそも Hiki って、たけうちさんが「Amrita の勉強のために始めた」と聞いたような気がするのが微妙...
今やっているお仕事がそろそろ目処がついてきたので、今日まつもとさんから次のお仕事をアサインされました。
これがまた面白そう (だけど難しそう) なお仕事です。頑張らないと!