part 1, git mv clos.2.0 obsolete/clos/
This commit is contained in:
31
obsolete/clos/2.0/precom1.lisp
Normal file
31
obsolete/clos/2.0/precom1.lisp
Normal file
@@ -0,0 +1,31 @@
|
||||
;;;-*-Mode:LISP; Package:(CLOS LISP 1000); Base:10; Syntax:Common-lisp -*-
|
||||
;;;
|
||||
;;; *************************************************************************
|
||||
;;; Copyright (c) 1991 Venue
|
||||
;;; All rights reserved.
|
||||
;;; *************************************************************************
|
||||
;;;
|
||||
|
||||
(in-package 'clos)
|
||||
|
||||
;;;
|
||||
;;; pre-allocate generic function caches. The hope is that this will put
|
||||
;;; them nicely together in memory, and that that may be a win. Of course
|
||||
;;; the first gc copy will probably blow that out, this really wants to be
|
||||
;;; wrapped in something that declares the area static.
|
||||
;;;
|
||||
;;; This preallocation only creates about 25% more caches than CLOS itself
|
||||
;;; uses need. Some ports may want to preallocate some more of these.
|
||||
;;;
|
||||
(eval-when (load)
|
||||
(flet ((allocate (n size)
|
||||
(mapcar #'free-cache
|
||||
(mapcar #'get-cache
|
||||
(make-list n :initial-element size)))))
|
||||
(allocate 128 4)
|
||||
(allocate 64 8)
|
||||
(allocate 64 9)
|
||||
(allocate 32 16)
|
||||
(allocate 16 17)
|
||||
(allocate 16 32)
|
||||
(allocate 1 64)))
|
||||
Reference in New Issue
Block a user