Sorry it is taking me so long to look into this. One piece of (not so useful to you who want an actual solution!) information is that you've pointed out a security hole in DrRacket that I thought I'd closed, but apparently have only partly closed. If you run the program below, then DrRacket itself will exit and that's not supposed to be able to happen. (The worst a program should be able to do is kill itself, not kill the whole IDE.)
Fixing this makes both of these ways of printing just as slow as each other, however. The basic issue is that DrRacket has to "sanitize" the values that come across and that process involves copying the bitmaps in your example and there are a lot of them. Since they are all the same bitmap, however, maybe there's a way to shortcircuit that. Robby #lang racket (require racket/gui/base) (define s% (class snip% (super-new) (define/override (copy) (new s%)) (define/override (draw . args) (queue-callback (λ () '(exit)))))) (new s%) -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.