yarv-dev:436
From: SASADA Koichi <ko1 atdot.net>
Date: Sat, 5 Mar 2005 19:36:38 +0900
Subject: [yarv-dev:436] Re: Ruby.NET Compiler
Hiroki Asakawa <ml asakawa.net> wrote :
[ [yarv-dev:431] Re: Ruby.NET Compiler ]
at Mon, 28 Feb 2005 23:43:07 +0900
ささだです。
お返事が遅れてすみません。
そーいえば、どうもお互い、未踏期間お疲れ様でした。
> Ruby との違いについて、.NET クラスライブラリとの連携について、
> パフォーマンスについて加筆しました。
> http://www.asakawa.net/ruby/rubynet_memo.html
日記には書きましたが、きちんとまとまっていていいですね。
以下、つっこみ。
> メソッドディスパッチの実現
メソッドディスパッチを二分木を利用することで行っているわけですが、
ひとつのクラスではそれでいいと思うのですが、いくつか継承したときの
パフォーマンスってどうなりますか。
二分木(または trie? )でメソッドディスパッチをするというのは、CLOS
がどうの、で聞いたことがありそうな気がしたのだけれど、ちょっとわかりま
せん。
IronPython などは、Hash 以上に高速な何かをちょっと用意するとかするの
ですかね。
> ブロック / クロージャの実現
Lisp とかで一般的な手法ですね。きちんと解析しているので、環境を作る
必要がなければ、そうしない(ヒープに一切何も作らない、作り置きができる)
などの最適化が考えられると思います(もう、してるかな)。
> Ruby と完全に同じです。多重代入も可能です。
多重代入ってどうやりました? というか、どの仕様、というか・・・。
> Ruby の予約語の他に Ruby.NET では include と require も予約語です。
if cond
require 'huga'
end
ってどうなるんでしょうか。
> Fixnum の最適化 2
これは、なるほど。
> tarai 17.5 0.031 x650
これ謎だよね。どんな IL を吐くんですか?
> 引数の配列の作成
これ、関数呼び出しのときに一時的に利用するだけですか?
それとも、環境として使う? 再帰呼び出しとかしたときに大丈夫
かな、とちょっと不安になりました。
> 今後
リリースはー?
--
// SASADA Koichi at atdot dot net
//
--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
427 2005-02-23 15:12 [ko1 atdot.net ] Ruby.NET Compiler 428 2005-02-24 00:41 ┗[ko1 atdot.net ] 429 2005-02-26 16:35 ┗[ml asakawa.net ] 430 2005-02-27 16:13 ┗[ml asakawa.net ] 431 2005-02-28 23:43 ┗[ml asakawa.net ] -> 436 2005-03-05 19:36 ┣[ko1 atdot.net ] 438 2005-03-05 21:18 ┃┣[ml asakawa.net ] 440 2005-03-06 01:03 ┃┃┣[ko1 atdot.net ] 444 2005-03-06 14:23 ┃┃┃┗[ml asakawa.net ] 445 2005-03-06 16:45 ┃┃┃ ┣[ko1 atdot.net ] 452 2005-03-06 22:26 ┃┃┃ ┗[shudo computer.org ] 454 2005-03-06 23:28 ┃┃┃ ┗[ko1 atdot.net ] 447 2005-03-06 17:33 ┃┃┗[zn mbf.nifty.com ] 439 2005-03-06 00:27 ┃┗[matz ruby-lang.org ] 441 2005-03-06 01:11 ┃ ┗[ko1 atdot.net ] 453 2005-03-06 22:41 ┗[shudo computer.org ]