[Top][All Lists]

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

Re: [Axiom-developer] RE: algebra Makefiles with explicit depende ncies,

From: root
Subject: Re: [Axiom-developer] RE: algebra Makefiles with explicit depende ncies, bootstrap, fixed-points etc.
Date: Tue, 18 Jan 2005 07:55:01 -0500

Yet one other opportunity for speed optimization is available at 
build time....

Remember that every lisp file generates a .fn file:

foo.lsp -> foo.o + foo.fn

and that a second compile with the .fn file loaded is faster:

foo.lsp + foo.fn -> faster foo.o

However if we look at the type information in the foo.fn file
we find that it only contains type information for functions
defined in foo.lsp. But suppose there are two lisp files with
functions from one using functions from the other. The sub-optimal
sequence is:

foo.lsp -> foo.o + foo.fn
foo.lsp + foo.fn -> faster foo.o

bar.lsp -> bar.o + bar.fn
bar.lsp + bar.fn -> faster bar.o

The optimal sequence is:

foo.lsp -> foo.o + foo.fn
bar.lsp -> bar.o + bar.fn

foo.lsp + (foo.fn + bar.fn) -> even faster foo.o
bar.lsp + (foo.fn + bar.fn) -> even faster bar.o

So, really what we should do is cache ALL of the .fn files from all of
the compiles, batch them into a big file, and the completely rebuild
the system with the batched .fn files loaded.

I've started this process but have not yet completed it. 
See the file src/boot/boot-proclaims.lisp

So there is a faster Axiom coming in the future but the build 
complexity will be even greater. And Camm, I believe, is doing
even more with type propagation which will improve things more.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]