|
From: Christophe R. <cs...@ca...> - 2003-07-04 13:11:52
|
[ belatedly... ] Nikodemus Siivola <tsi...@cc...> writes: > I don't have any examples handy, but runtimes dropped from approx. 90 > seconds to around 10. The code in question is mainly floating point > arithmetic with the floats stored in structs, and with plenty of consing. I think this may have been a bug, though without going back through sources a couple of months I can't really be sure... I think the problem was that we used to PROCLAIM, not DECLAIM, accessors, and consequently under certain circumstances the function bodies were being discarded when they should have been saved for future inlining. I've audited the codebase for this kind of error, but I think in the intervening time Alexey converted ordinary slot accessors to use compiler-internal source-transforms instead of inline functions. In any case, the performance problem you noted should not appear any longer; please let us know if it persists. Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge) |