On Dec 26, 2007 5:27 PM, Ivan Boldyrev boldyrev+nospam@cgitftp.uiggm.nsc.ru wrote:
On 10060 day of my life vseguip@gmail.com wrote:
I did some profiling...
My profiling shows that on SBCL most "slowness" comes from flexi-streams. For example, such low-level method as flexi-streams::unread-char% calls flexi-streams:translate-char that uses with-output-to-sequence. And last macro generates code that create new instance of flexi-stream, and making instances conses very much on SBCL. You may blame either SBCL or flexi-streams (I tend to blame flexi-streams).
Yes, I profiled flexi-streams and chunga and it showed as much, even when using it only for the headers. Is it possible to create a server that doesn't use flexi-streams at all, or can a handler-request actually configure if it want's to use flexi-streams? I know it's possible to bypass it in the handler, but I think it's called anyway in process-connection, get-request-data, etc. In other words, what would I have to mess around in hunchentoot so I can create a flexi-less handler/server?
Cheers, V. Seguí
(*) Note that even when serving an empty file hunchentoot only reaches ~ 287 requests/second on my system, so dynamic pages will "suffer" from this also.