From a12ec5fd23e9ce9118a2ca39ed9451ce6a6ec7ee Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 28 Aug 2009 03:45:38 +0000 Subject: [PATCH] improve speed of writing long byte strings with lots of escapes in WXME svn: r15822 --- collects/mred/private/wxme/stream.ss | 4 ++-- collects/tests/mred/wxme.ss | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/collects/mred/private/wxme/stream.ss b/collects/mred/private/wxme/stream.ss index 7180acd94a..53db0f8aa2 100644 --- a/collects/mred/private/wxme/stream.ss +++ b/collects/mred/private/wxme/stream.ss @@ -712,7 +712,7 @@ (let lloop ([amt (min 50 remain)][retry? #t]) (let ([s (open-output-bytes)]) (write (subbytes orig-s offset (+ offset amt)) s) - (let* ([v (get-output-bytes s)] + (let* ([v (get-output-bytes s #t)] [len (bytes-length v)]) (if (len . <= . 71) (if (and (len . < . 71) @@ -723,7 +723,7 @@ (send f write-bytes #"\n ") (send f write-bytes v) (loop (+ offset amt) (- remain amt)))) - (lloop (sub1 amt) #f))))))) + (lloop (quotient amt 2) #f))))))) (send f write-bytes #"\n)") (set! col 1)) diff --git a/collects/tests/mred/wxme.ss b/collects/tests/mred/wxme.ss index 7e769720b8..63a03db21e 100644 --- a/collects/tests/mred/wxme.ss +++ b/collects/tests/mred/wxme.ss @@ -712,8 +712,8 @@ (bytes-append #"\n3 2.0 3 #\"hi\\0\"\n3 #\"bye\"\n80\n" #"(\n" - #" #\"0123456789abcdefghij0123456789ABCDEFGHIJ0123456789abcdefghij0123456\"\n" - #" #\"\\\"89ABCDEFGHIJ\"\n" + #" #\"0123456789abcdefghij0123456789ABCD\"\n" + #" #\"EFGHIJ0123456789abcdefghij0123456\\\"89ABCDEFGHIJ\"\n" #")")) (define fbo3 (make-object editor-stream-out-bytes-base%))