The attached patch changes the debug-namify interface and provides a new
With the "compile & load CLX benchmark" I see approx. 5% speedup using
this patch: unpatched user runtimes are 400-402 second, patched 384-386.
Some debug names are affected, as with this patch all non-string are
effectively printed with PRIN1.
Nikodemus Siivola <tsiivola@...> writes:
> The attached patch changes the debug-namify interface and provides a new
> format-free implementation.
> With the "compile & load CLX benchmark" I see approx. 5% speedup using
> this patch: unpatched user runtimes are 400-402 second, patched 384-386.
Thank you; I've merged this into sbcl-0.8.10.17.
I needed to use FIND-SYMBOL rather than
SB!IMPL::FIND-EXTERNAL-SYMBOL. FIND-SYMBOL can potentially take a
longish time if it has to chase inherited chains, though in the use
here that should never be the case (since we're finding the symbol in
its symbol-package). On the other hand, it did raise the question:
are most calls to FIND-SYMBOL called on internal or external symbols,
I wonder? At present, FIND-SYMBOL looks for an external symbol first;
it's possible that making it look for an internal symbol would be
worth a try.
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)