kiyoka.2010_07_02 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2010_07
55555555555555555
5

[Nendo] 高速化のアイデア

5

私がRubyで書いているLisp方言、 Nendoについて。

5

 

5

関数呼び出しが重たいのがわかっている。

5

 

5

例えば、現在のNendoは関数の引数が1個の時でも、次のような引数変換用のcallProcedure関数を通る。

5
 callProcedure( '関数名', @_func, Cell.new( 1 ))
5

 

5

これを

5
 @_func.call( 1 )
5

のように、目的のクロージャを直接呼びだす様にすれば、オーバーヘッドが無くなる。

5

 

5

これは計測の結果、ボトルネックだと確実に分かっている。

5

(例えば、fib(20)が10倍ほども高速化された)

5

先にsrfi-1等のポーティングをやってから取り掛かろう。

5

 

5

...comment disabled...