From: Rudi Schlatte Date: Mon, 16 May 2005 12:19:33 +0000 (+0000) Subject: 0.9.0.35 X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=a35c81415beaf9ba3b61f692a184ddce97029ad1;p=sbcl.git 0.9.0.35 Slight depessimization of WRITE-SEQUENCE of byte arrays ... Don't go through full stream dispatch machinery for every byte --- diff --git a/src/code/stream.lisp b/src/code/stream.lisp index d43c6d0..d9d1b06 100644 --- a/src/code/stream.lisp +++ b/src/code/stream.lisp @@ -1791,30 +1791,24 @@ (list (let ((write-function (if (subtypep (stream-element-type stream) 'character) - ;; FIXME (rudi 2004-08-09): since we know we're an - ;; ansi stream here, we could replace these - ;; functions with ansi-stream-specific constructs - #'write-char - #'write-byte))) + (ansi-stream-out stream) + (ansi-stream-bout stream)))) (do ((rem (nthcdr start seq) (rest rem)) (i start (1+ i))) ((or (endp rem) (>= i end)) seq) (declare (type list rem) (type index i)) - (funcall write-function (first rem) stream)))) + (funcall write-function stream (first rem))))) (string (%write-string seq stream start end)) (vector (let ((write-function (if (subtypep (stream-element-type stream) 'character) - ;; FIXME (rudi 2004-08-09): since we know we're an - ;; ansi stream here, we could replace these - ;; functions with ansi-specific constructs - #'write-char - #'write-byte))) + (ansi-stream-out stream) + (ansi-stream-bout stream)))) (do ((i start (1+ i))) ((>= i end) seq) (declare (type index i)) - (funcall write-function (aref seq i) stream))))))) + (funcall write-function stream (aref seq i)))))))) ;;;; etc. diff --git a/version.lisp-expr b/version.lisp-expr index 3fd4f02..3661de3 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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".) -"0.9.0.34" +"0.9.0.35"