[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Number crunching in CLISP.
>>>>> "Harvey" == Harvey J Stein <hjstein@MATH.HUJI.AC.IL> writes:
Harvey> The kind of code I'm considering basically is solving
Harvey> recursive functions. I might have something like:
(defun value (level node)
(cond ((= level *MAX_LEVEL*) 100)
(t (let ((p1 (complicate-expression-involving-exponentials))
(p2 (complicate-expression-involving-exponentials))
(p3 (- 1 p1 p2)))
(* (exp (* (aref *RATE* level) (aref *DT* level)))
(+ (* p1 (value (+1 level) (+1 node)))
(* p2 (value (+1 level) node))
(* p3 (value (+1 level) (-1 node)))))))))
I'd say that would be at least 5* faster with CLISP than a waste-time loop.
If you are writing code from scratch you might do so with CLiCC in
mind (CL -> C compiler -- runs on CLISP). If speed is the top
priority, and you have the right hardware try CMUCL.