[Gauche-devel-jp] Re: port-current-lineについて

Back to archive index

Shiro Kawai shiro****@lava*****
2004年 2月 20日 (金) 22:01:48 JST


From: HIRAUCHI Hideyuki <hira****@verys*****>
Subject: [Gauche-devel-jp] Re: port-current-lineについて
Date: Fri, 20 Feb 2004 21:45:56 +0900

> ああ、このマクロを無しにして、関数にinlineつけるっていう風にしたい。
> それにinline化すると、下の4つの関数が簡単に作れるんですよね。
[...]
> >Javaのポートは設計としては綺麗だと思いますが、
> >コンパイラがインライン展開しまくらない限り、
> >性能を出すのが難しそうだなと思いました。
> そうなんですよね。
> やっぱりコードサイズの肥大化を懸念してます?コンパイラ依存の問題とか?

いえ、コードサイズよりは性能重視です。
その上でコードが綺麗になるなら言うこと無しです。

現在のport関連で何とかしたいと思っているのは、その複雑さもさることながら、
MT-safenessと性能の両立です。できればwith-port-lockingなんて無くして、
何も考えずにportを使っても問題にならないくらい軽くしたいのです。
(現状では、1文字づつ読み書きしたりすると、with-port-lockingの有無で
2〜3倍の差が出ます。)

ネックは、port処理中にエラーが発生した場合に必ずportのロックが
consistentになることを保証しなければならないってところです。
そのために、今はエラーを投げる可能性のある部分を全てPORT_SAFE_CALLで
覆っているので、単純に関数の中身だけinlineで括り出すことが難しくなっています。

今のコードは自分でも満足していないので、なんかうまい解決法があればぜひ
採り入れたいです。

--shiro



Gauche-devel-jp メーリングリストの案内
Back to archive index