yarv-dev:116
From: (Yukihiro Matsumoto) <matz ruby-lang.org>
Date: Sat, 24 Jul 2004 12:05:02 +0900
Subject: [yarv-dev:116] Re: another project
まつもと ゆきひろです In message "[yarv-dev:115] another project" on 04/07/24, SASADA Koichi <ko1 atdot.net> writes: |「9. 淺川 浩紀さん Ruby.NET コンパイラの開発 管理会社:三菱マテリアル(株) 」 | | というプロジェクトも採択されたそうです。いやーん、ガチ対決? やるなあ。http://www.teens-spirit.comを運営している方のよう ですね。 |・YARVの利点、.NET Compilerの欠点: | |1. IL(中間言語)の仕様がyarvのはRuby的に有利 これは大きいと思います。動的な言語からILにトランスレートしよ うとしている人たちはみんなここに引っかかっているようです。型 情報のない状態でメソッド呼び出しを行おうとするとemitを使うし かないのですが、これがめちゃめちゃ遅いそうです。伝聞ですが。 David Simmons (SmallScriptの人)は「できる」と言ってましたが、 あの人はいつも「できる」、「できた」というばかりで「どうやっ て」の部分を教えてくれないし。 IronPythonという処理系は.NET上でも速いと聞きましたが、これも (まだ)公開されていません。 |2. 既存のライブラリとの互換性を考慮可能 | | 考慮可能っていうだけで、互換性が保たれることが保証できるわけじゃ |ないんですが・・・。 | | できるだけ互換性があるように作るつもりではあります。 | | ここでのライブラリはC拡張ライブラリを指しています。 一種のラッパーで対応できるんじゃないかと思います。.NETでも可 能なのかなあ。 |・YARVの欠点、.NET Compilerの欠点: | |3. .NET CLR(Common Language Runtime)の最適化器の品質が段違いにイイ | |- code optimizer |- JITコンパイラ | | などの品質はどんなに頑張っても勝てません。多分(時間、人材的に)。 これは事実ですが、emitを回避する方法がなければ、十分に勝てる んじゃないかと。 |・不明 | |- C の今までのライブラリとの互換性がとれるのかな? |- GC とかどうなるんだろう |- 例外機構はすんなり乗るんだろうか |- eval とか動くのかなぁ(環境管理的に) |- 何が彼をこれに向けさせたんだろう 「Cのライブラリはステ」、「GCは.NETのもの」、「例外はたぶん 大丈夫」、「evalはステ(あるいはcompile+go)」と推測します。 最後の質問の答えには興味があるなあ。 |・まとめ | | 1 と 3 のトレードオフですよねぇ。多分。首藤さんには 3 |によって .NET の勝ち〜って一刀両断されちゃったんだけど、 |Groovy の処理速度とか見ると、やっぱりそんな簡単じゃない |んじゃないかと思います。(と思わせて orz) emit回避ができるかどうかで決まるでしょう。私はyarvが(速度的 に)勝つ方に賭けるな。 まつもと ゆきひろ /:|) -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
115 2004-07-24 05:27 [ko1 atdot.net ] another project -> 116 2004-07-24 12:05 ┗[matz ruby-lang.org ] 117 2004-07-24 16:33 ┗[ko1 atdot.net ] 118 2004-07-24 17:26 ┗[matz ruby-lang.org ] 119 2004-07-24 17:31 ┗[ko1 atdot.net ] 120 2004-07-24 17:34 ┗[ko1 atdot.net ] 121 2004-07-25 02:08 ┗[shudo computer.org ]