[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