<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>マンジラボ &#187; Sinatra</title>
	<atom:link href="http://manjilab.com/tag/sinatra/feed/" rel="self" type="application/rss+xml" />
	<link>http://manjilab.com</link>
	<description>いわゆる卍研究所。</description>
	<lastBuildDate>Fri, 26 Feb 2010 15:23:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jRubyとClojureの速度比較 on Google app engine</title>
		<link>http://manjilab.com/2009/11/25/jruby-v-clojure-on-google-app-engine/</link>
		<comments>http://manjilab.com/2009/11/25/jruby-v-clojure-on-google-app-engine/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 19:10:07 +0000</pubDate>
		<dc:creator>研究所大佐</dc:creator>
				<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Compojure]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sinatra]]></category>

		<guid isPermaLink="false">http://manjilab.com/?p=154</guid>
		<description><![CDATA[以前 Google App Engine (以下:GAE) 上にて簡単なアプリ動かしたときのデータです。
シンプルな、いわゆる"Hello World"アプリをSinatraとCompojureで作り、GAE上での実行時間を調べました。]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fmanjilab.com%2F2009%2F11%2F25%2Fjruby-v-clojure-on-google-app-engine%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22jRuby%E3%81%A8Clojure%E3%81%AE%E9%80%9F%E5%BA%A6%E6%AF%94%E8%BC%83%20on%20Google%20app%20engine%22%20%7D);"></div>
<p>以前 Google App Engine (以下:GAE) 上にて簡単なアプリ動かしたときのデータです。</p>

<p>シンプルな、いわゆる&#8221;Hello World&#8221;アプリをSinatraとCompojureで作り、GAE上での実行時間を調べました。</p>

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

<p>まずは Sinatra on jRuby</p>

<p><a href="http://www.flickr.com/photos/manjilab/4130896087/";; title="Sinatra on GAE by manjilab, on Flickr"><img src="http://farm3.static.flickr.com/2510/4130896087_51723325f1.jpg";; width="500" height="343" alt="Sinatra on GAE" /></a></p>

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

<p>次が Compojure (Clojure)</p>

<p><a href="http://www.flickr.com/photos/manjilab/4131658722/";; title="Compojure on GAE by manjilab, on Flickr"><img src="http://farm3.static.flickr.com/2634/4131658722_6e1c500ba8.jpg";; width="500" height="174" alt="Compojure on GAE" /></a></p>

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

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

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

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

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

<p>これは意外と &#8220;Performance matters&#8221; なのではないだろうか。</p>

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

]]></content:encoded>
			<wfw:commentRss>http://manjilab.com/2009/11/25/jruby-v-clojure-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
