compiling Maxima 5.29.1 on Allegro Common Lisp, 16X speedup
Subject: compiling Maxima 5.29.1 on Allegro Common Lisp, 16X speedup
From: Raymond Toy
Date: Mon, 14 Jan 2013 09:14:09 -0800
>>>>> "Richard" == Richard Fateman <fateman at eecs.berkeley.edu> writes:
Richard> And also I changed the maxima-5.29.1/src/maxima.asd file
Richard> to exclude numerical module
Richard> .. line 114
Richard> #+ignore
Richard> (:module numerical
Richard> ... because of compiler messages about f2cl-lib:integer4
Richard> unrecognized, and stalling in compiling j4save.lisp.
Hmm. Can you say what error you get about f2cl-lib:integer4? This is
probably some really simple oversight in f2cl-lib.lisp. j4save.lisp
is pretty simple; it shouldn't cause acl to stall.
I also remember that the the free version of ACL can't compile the
slatec code because there isn't enough heap.
Richard> The nice thing about this recipe is that it uses just
Richard> lisp. No perl, make, config, gcc, m4, awk. No
Richard> makefiles, (except for maxima.asd).
Yes, that's nice. But I can't live without the documentation, so this
doesn't appeal to me. :-) There is a branch of maxima that uses
cl-ppcre to build the documentation. This is nice, but I think it was
a little buggy.
Richard> why did I do this? I wanted to try out some
Richard> functionality that runs in Allegro but not in GCL, but
Richard> may run in SBCL or other "maintained" lisps. It requires
Richard> hash tables to allow for something like this....
Richard> (setq *uniq-table*
Richard> (make-hash-table :size 10000 :test #'equal :weak-keys
Richard> :tenurable
Richard> :values nil))
Does this mean you're using a hash table with weak-keys? I think
clisp, cmucl, and sbcl support hash tables with weak keys values.
Ray