From: Nathan F. <nf...@us...> - 2009-09-29 01:02:33
|
Update of /cvsroot/sbcl/sbcl In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6056 Modified Files: build-order.lisp-expr version.lisp-expr Log Message: 1.0.31.23: OAOOize external-format support fd-streams and octets support independently kept records of external-format->function maps, suitable for the purposes of each. This revision stores all the relevant information for an external format in a single place--a new EXTERNAL-FORMAT structure--and has both clients reference things in that single place. Doing so offers opportunities for other cleanups and speedups. fd-streams external-format storage was an alist of lists, which was bad for client code, since everything referred to fields with NTH or SECOND/FOURTH/FIFTH. A proper DEFSTRUCT helps here and should be slightly more space-efficient, as we're replacing a list with (effectively) a vector. Also, since clients had to scan through an alist to find an external-format, this design was hurting performance in streams code, most notably OPEN. Replacing the alist with a hash table (which the octets code was already using) should make things a lot snappier. Index: build-order.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/build-order.lisp-expr,v retrieving revision 1.89 retrieving revision 1.90 diff -u -d -r1.89 -r1.90 --- build-order.lisp-expr 7 Aug 2009 11:21:21 -0000 1.89 +++ build-order.lisp-expr 29 Sep 2009 01:02:20 -0000 1.90 @@ -686,6 +686,7 @@ ("src/code/debug" :not-host) ("src/code/octets" :not-host) + ("src/code/external-formats/enc-basic" :not-host) ("src/code/external-formats/enc-ebcdic" :not-host) #!+sb-unicode ("src/code/external-formats/enc-cyr" :not-host) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.4630 retrieving revision 1.4631 diff -u -d -r1.4630 -r1.4631 --- version.lisp-expr 27 Sep 2009 01:18:47 -0000 1.4630 +++ version.lisp-expr 29 Sep 2009 01:02:20 -0000 1.4631 @@ -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.31.22" +"1.0.31.23" |