2004-01-11 [長年日記]
λ. 携帯電話の現状に関するアンケート
友だちの久野君がアンケートをしてます。卒論の一部に使うそうなので、よかったら協力してあげて下さい。
λ. バカが征く (2004-01-11) より
http://osnews.com/story.php?news_id=5602&page=3
例によって本文は読んでいませんけど、数値だけを比べれば、Javaが遅いとい うのはもはや都市伝説ですね。trigって何かと思ったら三角関数のことのよう です。そんなもん使いませんから。
これは非常に明るいニュースですよね。まともなベンチだとしたら、もはやGC は全然問題にならないという1つの傍証でしょう。
I/O を除く4つのベンチマークは、 Javaだとすべてプリミティブ型の演算なので、 GCはほとんど関係ないでしょう。
Pythonが遅いのはJITがないからでしょうか。確か仮想機械使ってるんですよ ね。やっぱり単純に仮想機械にしただけじゃダメってことでしょうか。
Python/Psycoは一応JITですよ。想像ですがPythonが遅いのは、数がboxed representation で扱われてしまっているせいという部分も結構あるのではないかと思います。
それはそうと、この結果は gcc の三角関数が異様に遅かったりして納得いかなかったので、自分でも同じベンチマークをLinux上で実行してみました。ついでにRubyも加えてみました。後でYARVも試します。
int math | long math | double math | trig math | I/O | TOTAL | |
---|---|---|---|---|---|---|
gcc 3.3.2 | 8.1 | 20.0 | 7.8 | 3.5 | 1.1 | 40.4 |
Java 1.4.1 | 13.5 | 29.6 | 14.7 | 71.1 | 3.2 | 132.1 |
Python 2.3.2 + Psyco 1.1.1 | 20.4 | 549.5 | 84.2 | 13.8 | 2.7 | 670.1 |
Python 2.3.2 | 381.0 | 866.2 | 525.4 | 508.7 | 3.2 | 1826.8 |
Ruby 1.8.1 | 1079.7 | 3710.3 | 948.1 | 39.6 | 6.0 | 5783.8 |
YARVでも多分全然速くないので、rubyのプログラム晒してもらえませんか。それに絞った最適化を考えてみます。
了解。こんな感じです。<br>http://www.tom.sfc.keio.ac.jp/~sakai/d/data/200312/Benchmark.rb
うわあ、なんか凄いのがキター。まず動かせるよう努力します・・・。