[Openmcl-devel] how does one cause stack-allocation for floats? [2]

Joel Reymont joelr1 at gmail.com
Tue Mar 28 15:46:29 PST 2006


In the interest of fairness... This is ACL 8.0 on a Powerbook G4

CL-USER> (defun jl (x)
             (declare (optimize speed) (double-float x))
	    (let* ((sum x))
               (declare (double-float sum))
	    (dotimes (i 1000000 sum) (incf sum i))
	    sum))
JL
CL-USER> (compile 'jl)
JL
NIL
NIL
CL-USER> (time (jl 0.0d0))
; cpu time (non-gc) 40 msec user, 0 msec system
; cpu time (gc)     0 msec user, 0 msec system
; cpu time (total)  40 msec user, 0 msec system
; real time  48 msec
; space allocation:
;  1 cons cell, 24 other bytes, 0 static bytes
4.999995d+11

On Mar 28, 2006, at 11:48 PM, james anderson wrote:

> conscious of which, if i just gather together the results, with a
> count of 10000000, from lisps i have at hand, they look like this:
> (results are | total milliseconds . gc milliseconds .  byes consed | )
>
> ----------------------|    single-float     | single/stack  | double-
> float        | double/stack     |
> allegro 6.2 / P4-2.8G | 4484 . 3436 . 320MB | 406 . 0 . 496 | 6562 .
> 4638 . 480MB | 406 .  0 .  24   |

--
http://wagerlabs.com/








More information about the Openmcl-devel mailing list