10000! (Sorry... but)



Le 06-May-01 Bill Schelter  écrivait:
> 
> 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.

Thank you, Bill, for your magnificent work.
The 2 programs compiled without any problem
under Linux Mandrake 7.1.


> 
> 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]
> 

Incidentally, 10000! is computed and printed without any call of
:lisp(si ... etc... in maxima 5.6 on my machine
(roughly as fastly as under pari/gp 2.1.1).

However I tried to compute one more time (1+a+b+c+d)^35,
and interrupted maxima twice. Then I noticed that
there were 2 copies of saved-maxima in memory, computing
hard (98% of  CPU time). Is this a feature or a bug ;-)?

Best regards.
----
Daniel Duparc <dduparc@club-internet.fr>
29 av. de la Commune de Paris
94400 Vitry sur Seine (France)