[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Allegro CL Floating Point
Date: Thu, 30 Nov 89 15:29:37 EST
From: maida@cs.psu.edu.ARPANET (Anthony Maida)
We need to do fast floating point in Lisp. We have benchmarked
a C program and a Lisp program. Both programs call an exponential
function and a trig function 250,000 times.
The C program runs in under 10 seconds. The Lisp program takes
at least 50 seconds. We can't understand why there should be
such a discrepancy. Can anyone replicate this and explain the
discrepancy?
I don't have a copy of Allegro, but I tried it in Lucid on a Sun 3/60
and it ran in .18 seconds.
> (load "float-test")
;;; Loading source file "float-test.lisp"
#P"float-test.lisp"
;; turn on production compiler
> (proclaim '(optimize (compilation-speed 0)))
T
> (compile 'speed)
SPEED
> (time (speed 500))
Elapsed Real Time = 0.18 seconds
Total Run Time = 0.18 seconds
User Run Time = 0.18 seconds
Dynamic Bytes Consed = 0
NIL
When I similary compiled SPEED with just the development compiler,
(proclaim '(optimize (compilation-speed 3))), the execution took about
40 seconds.
Steve