[Top][All Lists]

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

[Axiom-developer] Re: lsp/Makefile.pamphlet

From: root
Subject: [Axiom-developer] Re: lsp/Makefile.pamphlet
Date: Wed, 15 Dec 2004 01:23:15 -0500


I had a few typos in that Makefile.pamphlet for the windows patches
which I've now fixed. They should be on arch shortly.

In GCL if you have exact type information the function calling
can be reduced by quite a few instructions (possibly by 100
instructions or more if memory serves me). Normal function 
calling has to do type-casing. The exact type information allows
a good lisp implementation to elide this.

The best way to see this is to run disassemble on the function
before and after. I did a lot of this with the AKCL and CMUCL
implementations. In fact, CMUCL was so good that I could get

(+ a b)

to reduce to one instruction on the IBM RT with proper declarations.
Of course you have to declare it something like:

(the fixnum (+ (the fixnum a) (the fixnum b))) 

or some such. I believe some of the macros I wrote do a lot of
this kind of expansion. I also load proclaims.lisp into the image
so GCL function type information is available. 

Schelter and I worked quite a bit on speeding up function calling
as much as possible. If I remember correctly the fast-links code
will trade space (a link) for speedup.

If you look in src/boot you'll see a newly created file called
boot-proclaims.lisp which is part of my recent efforts to optimize
the system. I plan to push it as far as I can. Eventually the 
makefiles will automatically re-compile the lisp code to get the
optimization information and type optimization will be pushed
into the algebra code. I'm just not there yet.


reply via email to

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