I'm looking for information on how good a Lisp compiler can be at keeping
floating point values in registers, so that they don't have to be "boxed"
into a heap format that keeps the gc happy.
Perhaps some of the MacLisp or S-1 Lisp people have some idea about this.
Roughly, the question is this: in floating-point intensive code,
how frequent are loads and stores of heap floats relative to adds,
multiplies, etc.?
I figure I can squash a 32-bit IEEE float into a tagged word in about
7 cycles, and un-squash one into a standard float in about 5 cycles.
I want to know how often I'll have to do this, compared to the actual
floating-point work at hand.
Thanks prematurely,
Paul
Paul R. Wilson
Software Systems Laboratory lab ph.: (312) 996-9216
U. of Illin. at C. EECS Dept. (M/C 154) ······@bert.eecs.uic.edu
Box 4348 Chicago,IL 60680
Paul R. Wilson
Software Systems Laboratory lab ph.: (312) 996-9216
U. of Illin. at C. EECS Dept. (M/C 154) ······@bert.eecs.uic.edu
Box 4348 Chicago,IL 60680