2009年4月8日水曜日

How Fast is JRuby

How JRuby Makes Ruby Fast

def tak x, y, z
if y >= x
return z
else
return tak( tak(x-1, y, z),
tak(y-1, z, x),
tak(z-1, x, y))
end
end

tak(24, 16, 8)を10回分の時間はいかほど?

user system total real
0.524000 0.000000 0.524000 ( 0.524000)
0.338000 0.000000 0.338000 ( 0.338000)
0.325000 0.000000 0.325000 ( 0.325000)
0.299000 0.000000 0.299000 ( 0.299000)
0.310000 0.000000 0.310000 ( 0.310000)

JRubyはええええええ。
と思ったけど、Rubyの速さをよく知らないので、わからない。
あまりベンチマークに興味を持ったことがない。

一応、手元のJRubyでも試したよ。
jruby --server --fast tak.rb

user system total real
1.281000 0.000000 1.281000 ( 1.219000)
0.906000 0.000000 0.906000 ( 0.906000)
0.906000 0.000000 0.906000 ( 0.906000)
0.922000 0.000000 0.922000 ( 0.922000)


とりあえずPythonと比較してみた。
ここはさくっと1秒をきってもらいたいところ。

def tak(x, y, z):
if y >= x:
return z
else:
return tak(tak(x-1, y, z),
tak(y-1, z, x),
tak(z-1, x, y))

python tak.py

4.68799996376s
4.67199993134s
4.71900010109s
4.70300006866s

。。。

気を取り直して、Jython。
まあ、期待してないっす。Pythonの倍ぐらい遅くてもぜんぜん気にしないっす。
だって、お金かかってないっすからね。
Pythonと同じソースが走るのは優秀っすね。
jython tak.py

12.2509999275s
12.1879999638s
12.2030000687s
12.1879999638s

。。。


Ironのじつりきに期待したいけど、ビルドしたことなかった。
いつか誰かがやります。


ところでさ、Javaだとどんなもんかな。
0.3秒が数倍遅いって言ってるんだから、0.08秒ぐらいか。
そりゃはやいね。

static int tak(int x, int y, int z) {
if (y >= x)
return z;
else
return tak(tak(x - 1, y, z), tak(y - 1, z, x), tak(z - 1, x, y));
}

java Tak.java

0.107289151s
0.107325477s
0.107177706s
0.10697179s

JRubyはえええええ!
しかし、ここはJavaのすごいところが見たい!
java -server Tak.java

0.094475588s
0.081646268s
0.081483518s
0.08147525s

やっぱりJRubyはええええ。
ええい、他にオプションはないのか。

というわけでJRubyの速さを際立たせるだけでした。
あ、そうだ。
Dubyが早いならGroovyも型を指定すれば早いんじゃね?
cp Tak.java Tak.groovy
groovy Tak.groovy

6.369433797s
6.266855432s
6.264844057s
6.277156358s

本気か?
事前にコンパイルしないとだめか、そうかそうか。

groovyc Tak.groovy
groovy Tak

6.336249071s
6.235964946s
6.235621352s
6.233301473s

ち、ちょっと早くなったのかしら。

型を指定してあげてるのにこんなに遅いって、Groovyは駄目な子なのか。
ちなみに型を指定しなかったらJythonより遅いのか。
SpringSourceしっかりしろよ。
怖いもの見たさでチェック

def tak(x, y, z) {
if (y >= x)
return z;
else
return tak(tak(x - 1, y, z), tak(y - 1, z, x), tak(z - 1, x, y));
}


3.599673454s
3.504575443s
3.504178545s
3.503208614s

おおおおおお!どうなってるんですか?
速くなりました。
倍近く早いよ。
ってか、Pythonより速い。
Groovyやるな!
ってか、なんで?

ここまできたらScalaも試そうか。

def tak(x: Int, y: Int, z: Int): Int = {
if (y >= x) z else tak( tak(x-1, y, z),
tak(y-1, z, x),
tak(z-1, x, y))
}

scala Tak_scala

0.191174899s
0.185557729s
0.18544463s
0.185426475s

思ったより少しだけ遅いけど、悪くないね。
serverモードはないのかな?


というわけでGroovyの変態さが伝わったかな?
本当はIokeでも試したんだけど、まったく答えが返ってこないのでなかったことにしました。

このまま終わると晩御飯をおいしく食べられないので、Pythonでもうチョイがんばります。
まずはご存知psyco

import psyco
psyco.full()

と先頭につけるだけ。

0.281000137329s
0.296999931335s
0.296999931335s
0.281000137329s

おお、いいね。JRubyに勝った!

つづいてCython

cdef int ctak(int x, int y, int z):
if y >= x:
return z
else:
return ctak(ctak(x-1, y, z),
ctak(y-1, z, x),
ctak(z-1, x, y))


0.155999898911s
0.171999931335s
0.156000137329s
0.155999898911s

よし、Scalaに勝った!


やっぱりPythonだね。

ごらんのスポンサーの提供でお送りしました。
java version "1.6.0_11"
Scala code runner version 2.7.3.final
jruby 1.3.0 (ruby 1.8.6p287) (2009-04-08 r)
Jython 2.5b1 (trunk:5903:5905, Jan 9 2009, 16:01:29)
Python 2.6.1
Groovy Version: 1.6.1

TODO
グラフを貼る


結論。
Groovyは型を指定すると遅くなる。

32 件のコメント:

お宝映像 さんのコメント...

激レア映像!芸能人のお宝映像を一挙公開中!無料登録するだけでレアなお宝映像やハプニング画像が取り放題、期間限定の動画も見逃せない

動物占い さんのコメント...

大人気、動物占いであなたの秘められた野性がわかる!草食系と思っていたあの子も実は肉食動物かも知れない!意外性のある占いをみんなで楽しもう

熟女 さんのコメント...

仕事を辞めてください。一日で今の月収を超えるお誘いがあります。某有名セレブ熟女の強い要望により少しの間、恋人契約という女性からのお申し込みがありました。今までは地位や名誉のために頑張ってこられたようでございますが年齢を重ね、寂しさが強くなってきたようでございます。男性との時間を欲しがっている女性に癒しを与えてくださいませ

エロ漫画 さんのコメント...

エロアニメナビ・エロ漫画好きにはたまらないお宝満載!激アツなサイトだけを選りすぐりました。女の子にも男の子にも使いやすく無料で出会えるサイトばかりを掲載しています

1人H さんのコメント...

1人Hのお手伝い、救援部でHな見せたがり女性からエロ写メ、ムービーをゲットしよう!近所の女の子なら実際に合ってHな事ができちゃうかも!?開放的な女の子と遊んじゃおう

メール さんのコメント...

ストーカーの追い回されて怖いんです。毎日夜になると非通知電話多いし怖い。。。助けてくださいpeach-.-girl@docomo.ne.jp

スタビ さんのコメント...

復活、スタービーチ!日本最大の友達探しサイトがついに復活、進化を遂げた新生スタービーチをやってみませんか?理想のパートナー探しの手助け、合コンパーティー等も随時開催しています。楽しかった頃のスタビを体験しよう

処女 さんのコメント...

「友達の中で処女なのは私だけ…でも恥ずかしくて処女だなんて言えない、誰でもイイからバージンを貰ってほしい!」そんな女性が沢山いる事をご存じですか?出合いが無かった、家が厳格だった等の理由でHを経験したことがない女性がたくさんいるのです。当サイトはそんな女性たちと男性を引き合わせるサイトです

メアド開運 さんのコメント...

メアド開運、あなたの使ってるメアドを診断出来ちゃうサイト!吉と出るか凶と出るかはあなた次第、普段使ってるメアドの金運、恋愛運が測定できちゃいます

逆¥交際 さんのコメント...

今話題の逆¥交際!あなたはもう体験しましたか?当サイトでは逆援希望の女性が男性を自由に選べるシステムを採用しています。成功を収めた女性ほど金銭面は豊かですが愛に飢えているのです。いますぐTOPページからどうぞ

豪華賞品 さんのコメント...

只今、シャープ32型液晶テレビ、PS3等、豪華商品が当たるキャンペーンを実施中!まずは欲しい商品を選び、メールアドレスを登録して無料エントリー!その場で当たりが出たら賞品ゲットできます。抽選に外れた方もWチャンスで商品券等が当たります。ぜひチャレンジして下さい

副収入 さんのコメント...

一夜限りの割り切ったお付き合いで副収入が得られる交際サイトのご案内です。アルバイト感覚での挑戦もできる、安心の無料登録システムを採用しておりますので、興味のある方は当サイトへぜひどうぞ

メル友 さんのコメント...

彼氏にDVされて、ちょっと男性不信です。でも、恋愛して彼氏も作りたいと思ってるので、優しく接してくれる人を探してます。連絡待ってまぁす! pretty-toy-poodle@docomo.ne.jp

神待ち さんのコメント...

家出をして不安な少女たちの書込が神待ち掲示板に増えています。一日遊んであげたり、家に招いて泊まらせてあげるだけで、彼女たちはあなたに精一杯のお礼をしてくれるはずです

乱交 さんのコメント...

全国乱交連盟主催、スワップパーティーに参加しませんか?初めての方でも安心してお楽しみいただけるパーティーです。参加費は無料、開催地も全国に120ヶ所ありますので気軽に参加してお楽しみ下さい

アブノーマル さんのコメント...

SM・露出・スワッピング・レズ・女装・フェチなど…普通じゃ物足りないあなたが思う存分楽しめる世界!貴方だけのパートナーを探してみませんか?アブノーマルでしか味わえない至福の時をお過ごしください

セレブラブ さんのコメント...

セレブラブでは毎月10万円を最低ラインとする謝礼を得て、セレブ女性に快楽を与える仕事があります。無料登録した後はメールアプローチを待つだけでもOK、あなたも当サイトで欲求を満たしあう関係を作ってみませんか

裏バイト さんのコメント...

簡単に大金を稼ぐことができる裏バイトがあります。女性が好きな方、健康な方なら日給3万円以上の収入を得ることも可能です。興味のある方はHPをご覧ください

救援部 さんのコメント...

一人Hを男性に見てもらうことで興奮する女性が多数いることをご存じですか?当サイト、救援部ではそんな女性たちが多数登録されています。男性会員様は彼女たちのオ○ニーを見てあげるだけで謝礼を貰えるシステムとなっております。

メル友募集 さんのコメント...

冬に1人ボッチで家でご飯とかオヤスミなんて寂しすぎるょ~~っ!こんなところに書き込んだら削除されちゃいそうだけど少しでもきっかけ作らなくっちゃと思って書いてみましたっ!!気軽に会ったり出来たりする方ってこの掲示板見てませんか~!?良かったらメールくださいね★フリメだったら私気付けないんで携帯のアドレス乗せておくねっ!! love-sexy@docomo.ne.jp

失恋 さんのコメント...

失恋は心に深い傷を残します。その傷を癒す特効薬、それは新しい出会い。あなたの心を癒す、素晴らしい出会いを当サイトで見つけて、笑顔を取り戻してください

高額バイト さんのコメント...

高額バイトのご案内です。欲求不満になっている女性を癒して差し上げるお仕事です。参加にあたり用紙、学歴等は一切問いません。高収入を稼ぎたい、女性に興味のある方はぜひどうぞ

交際 さんのコメント...

スタービーチの突然の閉鎖、優良な友達探しサイトが無くなってしまいましたが、新生・スタービーチがここに復活しました!、進化を遂げた新生スタービーチをやってみませんか?理想の交際探しの手助け、合コンパーティー等も随時開催しています。楽しかった頃のスタビを体験しよう

神待ちサイト さんのコメント...

「家出してるんで、泊まるところないですか?」家出救済神待ちサイトには毎日このような女の子からの書き込みがされています。彼女たちはホテルや家に泊まらせてあげたり、遊んであげるだけであなたに精一杯のお礼をしてくれるはずです

露出 さんのコメント...

普通のプレイじゃ絶対味わえない快感、それは野外露出プレイ。最初は嫌がっていた女も次第にハマっていって、その内それが快感に変わってきます。野外露出プレイで興奮度アップ間違い無し

友達 さんのコメント...

早い時期に結婚してしまって、少し後悔しているんです。私は、今の夫しか経験が無くって、このままでいいのかなって…。思うようになってきてしまって…冒険はしたいんですけど、やっぱりばれたりしたら怖いので…割り切りで会える方って居ませんでしょうか?連絡お待ちしてますね♪最初に年齢を教えてくれるとうれしいです。pop-music-lo-ve@docomo.ne.jp

人妻 さんのコメント...

Hな人妻たちの社交場、割り切った付き合いも当然OK!欲求不満のエロ人妻たちを好みに合わせてご紹介します。即会い、幼な妻、セレブ、熟女、SM妻、秘密、以上6つのジャンルから遊んでみたい女性を選んでください

サイドビジネス さんのコメント...

1日5万円~が手に入るサイドビジネスのご案内です。男狂いのセレブ女性はネットで知り合った男を次々に金の力で食い散らかしています。そんな女性を手玉にとって大金を稼いでみませんか

Hチェッカー さんのコメント...

みんなで楽しめるHチェッカー!簡単な設問に答えるだけであなたの隠されたH度数がわかっちゃいます!あの人のムッツリ度もバレちゃう診断を今すぐ試してみよう

¥倶楽部 さんのコメント...

出会ぃも今は¥倶楽部!オンナがオトコを買う時代になりました。当サイトでは逆援希望の女性が男性を自由に選べるシステムを採用しています。経済的に成功を収めた女性ほど金銭面は豊かですが愛に飢えているのです。いますぐTOPページからどうぞ

野外露出 さんのコメント...

今迄は野外露出がマイナスイメージと囚われがちですが、実際は開放的な気分になり有名人のヌーディストが、オープンになる事を推奨してるぐらいです。このサイトをキッカケに知り合った娘達と野外で楽しみませんか

高級 さんのコメント...

どうしても相手がセレブだと高級感が有り、近付きにくいと思われがちですが、実際はただ欲望のままに快楽を追い求める、セレブとは掛け離れた女性が居るだけです。今こそ自分の欲望を満たすときです