From: Juho S. <js...@us...> - 2007-11-18 04:13:37
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv6408 Modified Files: NEWS version.lisp-expr Log Message: 1.0.11.29: Faster CONCATENATE on strings * Add a result-type dependent DEFTRANSFORM which open-codes directly to calls to REPLACE. * Constant-fold the array reads for constant string arguments in the transform (intended as a slezy benchmark trick, but actually it looks as if having some literal strings mixed in with variables is pretty common in real world CONCATENATE uses). * Add transforms for REPLACE on mixed SIMPLE-BASE-STRINGS and (SIMPLE-ARRAY CHARACTER (*)) to support. * Speeds up a simple benchmark of concatenating two three-character strings by a factor of 15, and by a factor of 30 when the strings are constant. For a more real-world example, doing DIRECTORY on a large set of files speeds up by 25%. Also: * Fix a broken test (extra close paren) that was uncovered by the write-no-partial-fasls change. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1265 retrieving revision 1.1266 diff -u -d -r1.1265 -r1.1266 --- NEWS 17 Nov 2007 16:34:00 -0000 1.1265 +++ NEWS 18 Nov 2007 04:13:27 -0000 1.1266 @@ -5,6 +5,8 @@ concurrent accesses (but not iteration.) See also: SB-EXT:WITH-LOCKED-HASH-TABLE, and SB-EXT:HASH-TABLE-SYNCHRONIZED-P. + * optimization: CONCATENATE on strings is an order of magnitue faster + in code compiled with (> SPEED SPACE) * bug fix: if file compilation is aborted, the partial fasl is now deleted, and COMPILE-FILE returns NIL as the primary value. * bug fix: number of thread safety issues relating to SBCL's internal Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.3723 retrieving revision 1.3724 diff -u -d -r1.3723 -r1.3724 --- version.lisp-expr 18 Nov 2007 01:13:40 -0000 1.3723 +++ version.lisp-expr 18 Nov 2007 04:13:27 -0000 1.3724 @@ -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.11.28" +"1.0.11.29" |