Maxima: compiling with cmucl, sbcl and gcl.



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))))