10000! (Sorry... but)



I have finally gotten around to adding much better bignum code to GCL.
So now 10000!  takes .074 seconds.  It is now sufficiently fast
that I have to do a loop 10 times to get a better measurement.
This is a factor of 70 improvement over the 5 seconds it used to
take... The times are on a 900Mhz pentium III.     

I have just put out gcl 2.4.0 and maxima 5.6

Please let me know of problems in compiling this.  I have not yet put
out a windows binary of the above, because of shell/configure problems
in compiling under mingw.

Incidentally the printing is much improved too.   

(c1) :lisp (si::allocate-contiguous-pages 3000 t) (si::allocate 'cfun 300 t) (si::allocate 'fixnum 200 t)
(C8) for i:1 thru 10 do 10000!;
Evaluation took 0.74 seconds (0.76 elapsed)
(D8)

[ note I still am not allocating much space by default, probably
should do more.   Also the bignum space is currently allocated as
contiguous blocks, but I should make it relocatable, but cannot track
down a couple of bugs preventing me from doing so]

Fateman wrote:>
   in Maxima on top of allegro CL, same machine (900 MHZ)...
     2.46 seconds of which .39 is in GC.  Better than GCL but
   not as good as CLISP.

   10000! on my 933MHz pentium in commercial macsyma
   takes 0.421 sec including 0.01 in GC. (This is on top
   of CLOE)