Maxima GCL init file update



Hello!

I'm about to upload into CVS new maxima-init.lisp.
It affects GCL Maxima only and performs some
GCL memory allocation tuning providing significant
performance boot especially on very complicated
problems (up to factor of 10 and more).
According to my tests with such init file
GCL Maxima is just 1.1 - 2 times
slower than CMUCL Maxima.  New init file works
quite well with Maxima 5.9.0 as well.

But there is one issue I want to discuss.
Initial GCL Maxima memory footprint is now
about 11-13 Mb.  Partially due to larger
ANSI GCL image partially due to initial
memory preallocation. Is this is OK?
In principle one can reduce initial memory
footprint to 4-7Mb by removing initial
preallocation altogether but this slows Maxima
down by factor of 2 on small and middle
size problems.  Any ideas are greatly
appreciated.

New maxima-init.lisp:
============================================================
;; Pre-allocating memory and more aggressive allocate growth
;; parameters substantially improves GCL performance
#+gcl
(progn

   #+gmp (si::set-gmp-allocate-relocatable t)

   ;; If you really need smaller initial memory footprint
   ;; comment these pre-allocations out
   (si::allocate-relocatable-pages 400 t)
   (si::allocate 'cons 	1000 t)
   (si::allocate 'fixnum 100  t)
   (si::allocate 'symbol 200  t)
   (si::allocate 'array	100  t)
   (si::allocate 'string	200  t)
   (si::allocate 'cfun 	400  t)

   ;; It is not recommended to make hole size less than 1000
   (si::set-hole-size 4000)

   (si::allocate-growth 'cons 	1 10000 66 33)
   (si::allocate-growth 'fixnum 	1 10000 66 33)
   (si::allocate-growth 'symbol 	1 10000 66 33)
   (si::allocate-growth 'package	1 10000 66 33)
   (si::allocate-growth 'array 	1 10000 66 33)
   (si::allocate-growth 'string 	1 10000 66 33)
   (si::allocate-growth 'cfun 	1 10000 66 33)
   (si::allocate-growth 'sfun 	1 10000 66 33)

   (si::allocate-growth 'relocatable  1 10000 66 33)
   ;(si::allocate-growth 'contiguous   1 10000 66 33)

   )
=====================================================


-- 
      Vadim V. Zhytnikov

       <vvzhy@mail.ru>
      <vvzhy@netorn.ru>