jRubyとClojureの速度比較 on Google app engine

In: Clojure

25 11月 2009

以前 Google App Engine (以下:GAE) 上にて簡単なアプリ動かしたときのデータです。

シンプルな、いわゆる”Hello World”アプリをSinatraとCompojureで作り、GAE上での実行時間を調べました。

CompojureとSinatraは良く似ているので jRubyとClojureの比較といってもいいかもしれません。

まずは Sinatra on jRuby

Sinatra on GAE

起動までに20秒前後とかなり待たされます。
2回目からはオンメモリなので速いです。

次が Compojure (Clojure)

Compojure on GAE

6〜7秒で起動。だいたい予想通りの結果です。
こちらも2回目からは速いです。
それぞれ Sinatra の3倍は高速でしょうか。

GAEは30秒を越えると起動に失敗するので注意が必要です。
Sinatraでこれですから、jRuby on Ralisで苦労している理由がわかります。

2回目からはオンメモリなので速いですが、しばらくアクセスがないとメモリから外れてしまうようです。

起動したアプリがメモリから追い出されないように Cronでダミーアドレスをたたき続けるというのも手ですが、どうもしっくりきませんね。

ところでGAEの有償プランの課金表をみてみると、
ストレージ < 通信 < CPU負荷
と、CPU使用に関する課金の比率が割高に設定されていることに気付きます。

これは意外と “Performance matters” なのではないだろうか。

Python嫌いがGAEを使う選択肢としてClojureはかなり有力だと思います。

blog comments powered by Disqus
Get Adobe Flash playerPlugin by wpburn.com wordpress themes

About this blog

私 manjilab のポータル的サイトになっております。日々気付いたこと、考えたこと、発表したいものを載せていきます。

Photostream

    Lisp indent 考察Lisp indent 考察Lisp indent 考察Lisp indent 考察Lisp indent 考察Tips to use Clojure(Lisp) with TextMateTips to use Clojure(Lisp) with TextMateTips to use Clojure(Lisp) with TextMate