I am writing an extremely floating-point-intensive application, that requires the evaluation of a polynomial (not finding the roots, just substituting) that is not known at compile time (in the C++ sense of "compile time"). Any particular polynomial evaluation is performed around 25,000 times with different substituted values, before moving to another polynomial. As you might expect, these evaluations seem to be the limiting factors in the code execution.
As the evaluation is not known until runtime, there is a good deal of control code surrounding the actual floating-point computations. It would seem that with Lisp, and CMUCL in particular, that I could compile a function on the fly for the particular polynomial evaluation, thereby eliminating all of the inner-loop control code, and also allow for possible optimizations. Is this a reasonable assumption? Should I expect to see a performance improvement, or would it be negligible? Any ideas or shared experience would be very much appreciated. Thanks in advance, Ryan
