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 ]