[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Building Axiom
From: |
Martin Rubey |
Subject: |
Re: [Axiom-developer] Building Axiom |
Date: |
27 Sep 2006 09:28:13 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
Gabriel Dos Reis <address@hidden> writes:
> "Page, Bill" <address@hidden> writes:
>
> | On Tuesday, September 26, 2006 11:47 PM Gabriel Dos Reis wrote:
> | >
> | > The time it takes to build Axiom is prohibitive.
> | >
> | > If the build is done only once a day, that is probably alright.
> | > However, when several iterations are done in a day, it becomes
> | > unbearable.
> | >
> | > What can be done to improve the build time?
> | >
> | > -- Gaby
> | > PS: yes, I consider that I have relatively "fast" machines.
> | >
> |
> | After eliminating the obvious like avoiding building the docs
> | and running the tests, the next thing you probably need to do
> | is find a way to compile SPAD faster. Right now, interpsys is
> | loaded and compiles a single SPAD file, then quits for each of
> | 1,042 files. In principle it should be possible to compile many
> | SPAD files in a single call to interpsys - say one call per
> | layer in the algebra build.
In fact, as I noted already there is a tiny flaw in the current bootstrap
process.
When adding several layers of spad files, as I did for my guessing package, one
has to add each layer one at the time, and has to call make as
make DAASE=$AXIOM/../../int
Otherwise the newly built algebra files will not be in the database that
interpsys uses: it uses those in ${SRC}/share by default.
Thus, I think the Makefile should really work as follows:
* for each layer
* start interpsys
* compile all files in the layer
* create the databases
from the second iteration on, of course, it should use the new databases.
HOWEVER: quite certainly, this will make the build process slower, instead of
faster, for two reasons:
* It takes quite some time to create the databases
* compiling slows down when several files are compiled. Certainly this is a
bug, but I have no idea where to find it...
Of course, the latter can be circumvented by starting a fresh interpsys for
every file that gets compiled, just as it is done now.
I guess, the best way to speed up the build process is to document the
compiler.
Martin