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

yarv-dev:140

From: (Yukihiro Matsumoto) <matz ruby-lang.org>
Date: Mon, 2 Aug 2004 13:55:03 +0900
Subject: [yarv-dev:140] Re: IronPython

まつもと ゆきひろです

In message "[yarv-dev:138] Re: IronPython"
    on 04/08/02, ko1 atdot.net <ko1 atdot.net> writes:

|>うーん、emitしないで__getattr__でメソッドオブジェクトを取得
|>して、それをcallしているみたいですねえ。いくつかのメソッド
|>(__cmp__とか__getattr__そのものとか)以外はキャッシュもしてな
|>いようだし。実はそれで十分なのかなあ。

調べたらemitってのは全然違うもののようですね。お恥ずかしい。

で、さらに読むと、

  * callは.NETの直接の呼び出し(CPythonより速い)。

  * Pythonなclassはdelegateをくるんだメソッドオブジェクトを
    持っていて、メソッドコールはこれをテーブルルックアップで
    入手してcall。

  * .NETなクラスはreflectionでラッパークラスを動的に生成し、
    キャッシュ。以後のメソッド呼び出しはPythonクラスと同様。

ということのようです。

| しかし、すたんだーどぱいそんべんちまーくってなんだろう。
| だれかるびーばんを・・・

Pystoneというのが添付されています。これは全然オブジェクト指
向じゃないんで、関数呼出しは速いIronPython向きです。
で、Pythonの動的な機能をフルに使ったベンチマークが Pie-Thon
ベンチマークで、これだとIronPythonは4%遅いそうです。もっとも、
例外処理がかなり遅いので、これ以外は速いという主張のようです。

                                まつもと ゆきひろ /:|)

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

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

       134 2004-07-29 11:26 [matz ruby-lang.org  ] IronPython                              
       135 2004-07-29 16:49 ┗[matz ruby-lang.org  ]                                       
       138 2004-08-02 00:30  ┗[ko1 atdot.net       ]                                     
->     140 2004-08-02 13:55   ┗[matz ruby-lang.org  ]