Subject: Maxima: compiling with cmucl, sbcl and gcl.
From: Robert Dodier
Date: Wed, 11 Jul 2007 19:42:23 -0600
On 7/11/07, C. Frangos <cfrangos at telkomsa.net> wrote:
> (The function slength() does not seem to be defined in Maxima 5.10. I could
> not trace this in the Maxima 5.12 installation.)
slength is in the stringproc share package; at present it is
automatically loaded when referenced. In Maxima 5.10.0 I think
you can explicitly load it via load(stringproc) and then it should
work the same as in 5.12.0.
> mysimprec() using lengths.lisp:
> Maxima 5.10: 14.7 sec
> Maxima 5.12: 170.5 sec
>
> mysimprec() using slength():
> Maxima 5.12: 28.2 sec
>
> The manner in which lengths.lisp seems to be influencing the running times is
> not clear to me.
Well, that is certainly very puzzling ...
> (3) I ran your test program below with Maxima 5.12. The run times are quite
> short and might be inaccurate ??
>
> mysimprec() using lengths.lisp: 0.59 sec.
> mysimprec() using slength(): 0.67 sec.
Maybe you can expand the test program with additional calls to mysimprec.
> (4) I am unable to run your test program with Maxima 5.10 as it does not have
> the function elapsed_run_time (). I could not find this function in the
> Maxima 5.12 installation.
I've appended the code to this message. It is found at the end
of src/macsys.lisp.
Hope this helps
Robert Dodier
PS.
(let ((t0-real 0) (t0-run 0)
(float-units (float internal-time-units-per-second 1d0)))
(defun initialize-real-and-run-time ()
(setq t0-real (get-internal-real-time))
(setq t0-run (get-internal-run-time)))
(defun $absolute_real_time () (get-universal-time))
(defun $elapsed_real_time ()
(let ((elapsed-real-time (- (get-internal-real-time) t0-real)))
(/ elapsed-real-time float-units)))
(defun $elapsed_run_time ()
(let ((elapsed-run-time (- (get-internal-run-time) t0-run)))
(/ elapsed-run-time float-units))))