[hunchentoot-devel] Hunchentoot performance
Ivan Boldyrev
boldyrev+nospam at cgitftp.uiggm.nsc.ru
Wed Jan 9 05:42:06 UTC 2008
On 10070 day of my life Edi Weitz wrote:
>> I see something strange: no difference for unibyte windows-1251, but
>> improvement for utf-8.
>
> Hmm, should've been the other way around. Specifically, I would
> expect improvements for ASCII and LATIN-1 which is what counts for
> Chunga's internals.
utf-8 output is larger, so difference is more visible, perhaps :)
OK, this is a timing results of simple static benchmark (outputting
static Cyrillic string):
| 0.13.1 | 0.14.1 | 0.14.1+ib
UTF-8 (13553b) | 43.93 | 45.48 | 56.22
KOI8-R (10725b) | 39.52 | 43.48 | 50.89
Result is number of pages per second, 13553b is size of output in
bytes. UTF-8 is faster because conversion function is faster.
Number of pages is quite low because my computer is quite old :)
0.14.1+ib is a flexi-stream version with my "patch" (not ready for
publication). Actually this patch is loadable file that redefines some
classes, methods and functions in flexi-streams and hunchentoot.
BTW, it addresses vseguip's WRITE-HEADER-LINE differently, on
flexi-streams level.
Currently slowest function on this benchmark is
FLEXI-STREAMS::CHAR-TO-OCTETS (mostly because it is called so many
times; but there is a room for improvement). On my application slowest
function is MAKE-FLEXI-STREAM, because it calls some Hunchentoot's
functions that use it. It can be improved too, but, I'm afraid, only
with flexi-streams' rewriting.
--
Ivan Boldyrev
Many are called, few volunteer.
More information about the Tbnl-devel
mailing list