02/11/05 23:57.net
>>128
えっと、Debian GNU/Linuxのwoodyのcmuclとsbcl(Steel Bank CommonLisp)を
使っています。
cmuclのドキュメント(cmu-user.ps)を見ると、
*bytes-consed-between-gcs*という大域変数で、どこまでコンスが作られたら、
GCが行われるか決定されるか設定できるみたいに書いてあります。
デフォルトでは2000000になっているそうです。
一方、sbclでのデフォルトは20Mになっているそうです。
例えば古典的な8queensなんかを(コンパイルして)実行すると、
cmuclではしょっちゅうGCをはじめるのでsbclの10倍以上時間がかかります。
cmuclで(defparameter *bytes-consed-between-gcs* 20000000)とかってしても、
GCが行われる頻度は変わりません。
どうやったらcmuclでもGCでマメに止まらないようにできるのでしょうか。
厨房でスマソ。