[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reader performance regression
From: |
Ludovic Courtès |
Subject: |
Reader performance regression |
Date: |
Sun, 31 Jan 2010 02:01:52 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hello,
A profile of ‘(compile-file "boot-9.scm")’ shows this:
% cumulative self
time seconds seconds name
48.15 0.91 0.91 read
8.15 0.15 0.15 #{\search-vector-rib\\\ 1944}#
6.67 0.13 0.13 make-struct-layout
5.93 1.88 0.11 eval
...
IOW, ‘read’ performs badly.
Commit 889975e51accb80491af76fc5db980aeb3edd342 may have been a
performance regression as it did away with the optimization that
consisted in using stack-allocated buffers in the common case, rather
than heap-allocated temporaries [0, 1]. (Indeed, Guile-Reader, whose
code is close to that of the pre-Unicode ‘scm_read ()’, is 1.4x faster
than current ‘read’.)
Mike: would you like to try to reintroduce that optimization? :-)
What do you think?
Thanks,
Ludo’.
[0] Commit 7337d56d5714227865aeca2b40b6bd97cce296d2 (2007-07-22).
[1] http://lists.gnu.org/archive/html/guile-devel/2007-07/msg00013.html
- Reader performance regression,
Ludovic Courtès <=