いわゆる卍研究所。
In: Clojure
25 11月 2009以前 Google App Engine (以下:GAE) 上にて簡単なアプリ動かしたときのデータです。
シンプルな、いわゆる”Hello World”アプリをSinatraとCompojureで作り、GAE上での実行時間を調べました。
CompojureとSinatraは良く似ているので jRubyとClojureの比較といってもいいかもしれません。
まずは Sinatra on jRuby
起動までに20秒前後とかなり待たされます。
2回目からはオンメモリなので速いです。
次が Compojure (Clojure)
6〜7秒で起動。だいたい予想通りの結果です。
こちらも2回目からは速いです。
それぞれ Sinatra の3倍は高速でしょうか。
GAEは30秒を越えると起動に失敗するので注意が必要です。
Sinatraでこれですから、jRuby on Ralisで苦労している理由がわかります。
2回目からはオンメモリなので速いですが、しばらくアクセスがないとメモリから外れてしまうようです。
起動したアプリがメモリから追い出されないように Cronでダミーアドレスをたたき続けるというのも手ですが、どうもしっくりきませんね。
ところでGAEの有償プランの課金表をみてみると、
ストレージ < 通信 < CPU負荷
と、CPU使用に関する課金の比率が割高に設定されていることに気付きます。
これは意外と “Performance matters” なのではないだろうか。
Python嫌いがGAEを使う選択肢としてClojureはかなり有力だと思います。
私 manjilab のポータル的サイトになっております。日々気付いたこと、考えたこと、発表したいものを載せていきます。