I took a stab at the same bit of code a little while back trying to merge characters.lisp and xml-name-rune-p.lisp and came up with some (I thought) cleaner code that compiled quite a bit faster than what was there. If you want to compare: http://common-lisp.net/pipermail/cxml-devel/2006-June/000051.html. From quickly skimming your patch it looks pretty similar :-)
Nathan Bird
Sean Champ wrote:
Attached to ths email is the final, corrected version of the patch. I had been using OR where AND is required.
On 08-16-06, David Lichteblau wrote:
Quoting Sean Champ (gimmal@gmail.com):
I was compiling CXML, in SBCL 0.9.15. I noticed that the compiler kept "getting stuck", when compiling the file xml-name-rune-p. Upon looking at the
Give it time. It will finish eventually.
Obviosly, it is your projects' codebase. I'd like to voice the assertion, however: It compiles quite quickly, with this patched code.
file, it appeared that the 'getting stuck' behavior may have had something to do with the #. form in the file.
You are probably compiling with a high DEBUG setting, causing SBCL to enable step-instrumentation. Solution: Use a lower DEBUG setting.
Inded, I am compiling with a high debug quality -- (debug 3) -- but I have disabled the insertion of step conditions -- (sb-c:insert-step-conditions 0) in the compiler policy.
-- Sean Champ