Luke Gorrie luke@bluetail.com writes:
Where does the speed come from?
Don't know exactly. The event-logging is quite expensive, but things are still slow without logging. Below are some numbers for this program:
(defun output-test1 () (time (loop for i from 0 to 200000 do (progn (print i) (force-output)))))
For an xterm, a single channel variant without logging, with logging, and the new scheme with a second channel. I deleted the repl and events buffers before running the benchmark and the repl window was never visible. Everything in Emacs20.
xterm ; 14.14 seconds of real time ; 1.98 seconds of user run time ; 1.3 seconds of system run time
no logging single channel ; 41.67 seconds of real time ; 7.53 seconds of user run time ; 1.16 seconds of system run time
with logging single channel ; 184.34 seconds of real time ; 7.93 seconds of user run time ; 0.96 seconds of system run time
second channel. ; 6.52 seconds of real time ; 2.74 seconds of user run time ; 0.88 seconds of system run time