Lisp@UNIX版 (585レス)
1-

121: 02/10/22 21:57 AAS
>>120
何処みてるの?
122: 02/10/28 00:31 AAS
age
123: 02/11/02 15:52 AAS
おいおい、そろそろ保守しないとヤヴァインじゃない?
124: 02/11/05 09:04 AAS
変数に型が無いからな。
125: 02/11/05 22:17 AAS
(age Lisp@UNIX版)
126: 02/11/05 22:52 AAS
(defun age (thread)
(case thread
((2chスレ:tech 'age)
((2chスレ:unix 'sage)
((2chスレ:prog 'hage)))
127
(1): 02/11/05 23:17 AAS
cmuclのgcについて質問してもいいですか?
128
(1): 02/11/05 23:31 AAS
>>127
だめって行ったらどうすんのさ、
そんなこと聞かずに、普通に質問したら?
129
(2): 02/11/05 23:57 AAS
>>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でマメに止まらないようにできるのでしょうか。
厨房でスマソ。
130: 02/11/06 00:40 AAS
>>129
cmuclは使ったことないです、お手上げ。
2chスレ:techとか
2chスレ:prog
で聞いてみてちょ、力になれなくてスマソ。
131: 02/11/06 00:51 AAS
8queenでガベコレいるか?
132: 02/11/06 01:03 AAS
>>129
(setf (bytes-consed-between-gcs) 20000000)
かな。
133: 02/11/06 01:05 AAS
-- Variable: *bytes-consed-between-gcs*
CMU Common Lisp automatically GC's whenever the amount of memory
allocated to dynamic objects exceeds the value of an internal
variable. After each GC, the system sets this internal variable to
the amount of dynamic space in use at that point plus the value of
the variable `ext:*bytes-consed-between-gcs*'. The default value
is 2000000.

英語よくわからんのであれだが
GCしはじめる数値を処理系がこの変数にセットするだけでないかい。
この変数を変えるとGCしなくなるんじゃなく。
134: 名無しさん@XEmacs 02/11/06 07:45 AAS
CMU Common Lisp は動的オブジェクトに確保されたメモリの量が内部変数の値を超える
たびに自動的に GC する。各 GC の後、その時点で使用されている動的スペースの量に
変数 `ext:*bytes-consed-between-gcs*' の値を加えたものを内部変数にセットする。
初期値は 200000である。
135
(1): 02/11/06 08:27 AAS
.cmucl-initに
(setf (bytes-consed-between-gcs) 20000000)
してみました。
* (time (queens 10))
すると、
[GC threshold exceeded with 21,062,632 bytes in use. Commencing GC.]
[GC completed with 1,119,416 bytes retained and 19,943,216 bytes freed.]
[GC will next occur when at least 21,119,416 bytes are in use.]
ですのでコンスが20Mを越えたときにGCが始まるようになりますた。
ちなみに(queens 10)だと24回GCして37secかかります。
sbclですと一度もGCしないで0.85secで(queens 10)できますた。
なんでこんなに違うんだろう……
136: 135 02/11/06 12:37 AAS
勘違いしてましたスマソ。
cmuclでは
* (load "8queens.lsp")
* (compile-file "8queens.lsp")
しても、
* (load "8queens.x86f")
するまでは8queensの関数はコンパイルされていないものが用いられる
ことに気づいていませんでした。
sbclではトップレベルの関数は即コンパイルしているんで違うのあたり前田った。
恥ずかしい……
137
(1): 02/11/10 03:10 AAS
(gc)
138
(1): 02/11/17 05:22 AAS
>>137
gcしたらこのスレは消えると思うが。
139: 02/11/28 17:07 AAS
>>138
スレじゃなくて、レスが消えたな。
140: 02/11/28 21:41 AAS
(sage)
141: 02/11/29 00:54 AAS
[1]>(sage)

*** - EVAL: the function SAGE is undefined
1. Break [2]>_
142: 02/11/29 01:21 AAS
(defun sage () (sage))
143: 02/11/30 04:17 AAS
[1]> (defun sage () (sage))

** - Continuable Error
DEFUN/DEFMACRO(SAGE): #<PACKAGE COMMON-LISP> is locked
If you continue (by typing 'continue'): Ignore the lock and proceed
1. Break [2]>
144: 02/12/07 20:38 AAS
寂れてるね。emacsスレがあるからいらないか。
145: 02/12/08 12:07 AAS
(寂れてますね)
146: 02/12/11 14:50 AAS
cl-httpd を cmucl 18d で動かせた人居ますか?なんか、cmucl 用のパッチを
当ててもコンパイルできないんすけど…。
147: 02/12/15 03:59 AAS
age
148
(1): 02/12/15 11:45 AAS
CLOSが気に入ってます。
Allegro CLを研究室の予算で買ってもらおうかな…
149: 02/12/15 13:36 AAS
>>148 ええのぅ。漏れもホスィけど金無いから cmucl で我慢。
windows では clisp か newlisp かなぁ…。
150
(3): 名無しさん@Emacs 02/12/17 12:35 AAS
clawk 便利 age
1-
あと 435 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s