0.9.0.35
authorRudi Schlatte <rudi@constantly.at>
Mon, 16 May 2005 12:19:33 +0000 (12:19 +0000)
committerRudi Schlatte <rudi@constantly.at>
Mon, 16 May 2005 12:19:33 +0000 (12:19 +0000)
Slight depessimization of WRITE-SEQUENCE of byte arrays
  ... Don't go through full stream dispatch machinery for every byte

src/code/stream.lisp
version.lisp-expr

index d43c6d0..d9d1b06 100644 (file)
       (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))))))))
 \f
 ;;;; etc.
index 3fd4f02..3661de3 100644 (file)
@@ -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"