X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fshared.lisp;h=d088aa2ad7f863c920061eef636907ac33504ff2;hb=4a466c4908db0f6f5c468ae0eabb500ffac07aba;hp=3c910ac7e1ffe58b2bddb40cdf0eef83ba4e6033;hpb=4cf50b1896b25f5337e7c258b0b560da00d47993;p=sbcl.git diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index 3c910ac..d088aa2 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -17,15 +17,22 @@ ;;; GC tuning has little effect on the x86 due to the generational ;;; collector. For the older stop & copy collector, it assuredly -;;; does. GC time is proportional to the amount of non-grabage +;;; does. GC time is proportional to the amount of non-garbage ;;; needing collection and copying; when the application involved is -;;; the SBCL compiler, it doesn't take any longer to collect 20Mb than -;;; 2 -dan, 20000819 - -#+sbcl +;;; the SBCL compiler, it doesn't take any longer to collect 20 Mb than +;;; to collect 2 Mb. -dan, 20000819 +;;; +;;; Actually, tweaking *BYTES-CONSED-BETWEEN-GCS* to 20Mb instead of +;;; the default 2 seemed to make SBCL rebuild O(25%) faster on my 256 +;;; Mb K6/3, so I think it does have some effect on X86/GENCGC. I +;;; haven't looked into why this would be, though. Also, I'm afraid +;;; that using 20Mb here might be unfriendly to people using more-reasonable +;;; machines (like old laptops with 48Mb of memory..) so I've +;;; suppressed this tweak except for Alpha. -- WHN 2001-05-11 +#+(and sbcl alpha) ; SBCL/Alpha uses stop-and-copy, and Alphas have lotso RAM. (progn (sb-ext:gc-off) - (setf sb-KERNEL::*bytes-consed-between-gcs* (* 20 (expt 10 6))) + (setf (bytes-consed-between-gcs) (* 20 (expt 10 6))) (sb-ext:gc-on) (sb-ext:gc)) @@ -267,7 +274,7 @@ (defparameter *stems-and-flags* (read-from-file "stems-and-flags.lisp-expr")) -(defmacro for-stems-and-flags ((stem flags) &body body) +(defmacro do-stems-and-flags ((stem flags) &body body) (let ((stem-and-flags (gensym "STEM-AND-FLAGS-"))) `(dolist (,stem-and-flags *stems-and-flags*) (let ((,stem (first ,stem-and-flags)) @@ -276,7 +283,7 @@ ;;; Check for stupid typos in FLAGS list keywords. (let ((stems (make-hash-table :test 'equal))) - (for-stems-and-flags (stem flags) + (do-stems-and-flags (stem flags) (if (gethash stem stems) (error "duplicate stem ~S in stems-and-flags data" stem) (setf (gethash stem stems) t))