[前][次][番号順一覧][スレッド一覧][生データ]

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  ]