From 23f9677e5265e2caa1f9fdc9d8cc1145f31e8831 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 19 Dec 2016 13:22:44 -0600 Subject: [PATCH] avoid copying bytes when not necessary --- gui-lib/framework/private/text.rkt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gui-lib/framework/private/text.rkt b/gui-lib/framework/private/text.rkt index 1b0c08d8..f9d5ff6c 100644 --- a/gui-lib/framework/private/text.rkt +++ b/gui-lib/framework/private/text.rkt @@ -3003,7 +3003,12 @@ (cond [(= start end) (flush-proc)] [else - (define pair (cons (subbytes to-write start end) style)) + (define pair (cons (if (and (= start 0) + (= end (bytes-length to-write)) + (immutable? to-write)) + to-write + (subbytes to-write start end)) + style)) (cond [(eq? (current-thread) (eventspace-handler-thread eventspace)) (define return-channel (make-channel))