Gauche > Archives > 2009/08/13

2009/08/13 06:35:28 UTChigepon
#
Mosh で ctak のベンチマークが Gauche に比べてかなり遅い事が発覚。call/cc か、continuation の restore にボトルネックがありそうだなあ。
#
dynamic-wind の実装も怪しいか。
2009/08/13 21:18:07 UTCshiro
#
continuationのrestoreって、アクティベーションフレームをスタックにコピーバックしてますか?
#
gaucheは継続作成時にアクティベーションフレームをヒープにコピーしますが、restore時はコピーバックを行わずヒープに置いたまま使います。
#
(「作りかけの引数リスト」だけはスタックにないとまずいのでコピーバックしますが、普通せいぜい数ワードなので)
#
なので、「継続の捕捉はやや重いけど起動は軽い」ということになっています。実用的には逆の方がいいんですが。
#
Chezみたいに捕捉時にコピーを行わないようにするとどのくらい性能が出るか試してみたいですね。