[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hp800 port of AKCL 1.615



Hp 700 series:

On the hp700 series their compiler is VERY slow on large files.
You can do (proclaim '(optimize (speed 0)))
which will cause the -O flag not to be passed to cc.   This can
change compilation time from 10 hours to 2 minutes.   compiling
maxima on -O with an hp700 took more than 1 week, whereas it takes
several hours on a sun4.

Another possibility is to use the variable *split-files* documented
below.   This is what the authors of REDUCE use.

The good news is that I have not found any bugs in the hp C compiler
output.  I have run the maxima test suite, and a standard nqthm
proveall.   


Documentation:
*SPLIT-FILES*
Variable in the COMPILER package:
This affects the behaviour of compile-file, and is useful for cases where
the C compiler cannot handle large C files resulting from lisp compilation.
This scheme should allow arbitrarily long lisp files to be compiled.

If the value [default NIL] is a positive integer, then the source file
will be compiled into several object files whose names have 0,1,2,..
prepended, and which will be loaded by the main object file.  File 0
will contain compilation of top level forms thru position
*split-files* in the lisp source file, and file 1 the next forms, etc.
Thus a 180k file would probably result in three object files (plus the
master object file of the same name) if *split-files* was set to
60000.  The package information will be inserted in each file.