From: Christophe R. <cr...@us...> - 2008-06-09 21:49:20
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12240 Modified Files: NEWS version.lisp-expr Log Message: 1.0.17.32: faster ADD-METHOD to PRINT-OBJECT The basic idea here is reducing the number of functions whose discriminating function and effective method cache are precomputed; in particular, to reduce the number where users can both legitimately define their own methods, and where a large number of methods will be applicable to different classes. The biggest culprit in both of those categories is the PRINT-OBJECT generic function, which would recompute its entire dispatch structure every time any method was added or removed. So, turn off precomputation for names in the CL package; deal with the bootstrap metacircles that that provokes; special-case PRINT-OBJECT in COMPUTE-DISCRIMINATING-FUNCTION so that we can always print certain critical pieces of infrastructure; also, warn the user if they break our assumptions in PRINT-OBJECT's specialization. Fix one broken "how did it ever work" test. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1353 retrieving revision 1.1354 diff -u -d -r1.1353 -r1.1354 --- NEWS 5 Jun 2008 08:47:39 -0000 1.1353 +++ NEWS 9 Jun 2008 21:49:15 -0000 1.1354 @@ -19,6 +19,8 @@ * optimization: file compiler is now able to coalesce non-circular lists, non-base strings, and bit-vectors. Additionally, constants are never referenced through SYMBOL-VALUE at runtime. + * optimization: code defining methods on PRINT-OBJECT (and other + generic functions in the COMMON-LISP package) now loads faster. * bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it in sb-bsd-sockets. * bug fix: if COMPILE-FILE aborts due to an unwind, the partial Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.3991 retrieving revision 1.3992 diff -u -d -r1.3991 -r1.3992 --- version.lisp-expr 6 Jun 2008 12:00:23 -0000 1.3991 +++ version.lisp-expr 9 Jun 2008 21:49:15 -0000 1.3992 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.17.31" +"1.0.17.32" |