Roy T. Fielding wrote:
On Jan 2, 2006, at 2:14 PM, Roy T. Fielding wrote:
Now, if you want to tell me that those changes produced a net
performance benefit on prefork (and thus are applicable to other MPMs),
then I am all ears. I am easily convinced by comparative performance
figures when the comparison is meaningful.
lol, of course you choose the non-threaded MPM as a reference, which therefore
should receive no meaningful performance change. The difference between an
async wakeup and a poll result should be null for one socket pool, one process,
one thread (of course select is a differently ugly beast, and if there were
a platform that supported async with no poll, I'd laugh.)
BTW, part of the reason I say that is because I have considered
replacing the same code with something that doesn't parse the
header fields until the request header/body separator line is
seen, since that would allow the entire request header to be parsed
in-place for the common case.
Well ... you are using protocol knowledge that will render us http-bound
when it comes time to efficently bind waka (no crlf delims in a binary format
protocol, no?) or ftp (pushes a 'greeting' before going back to sleep.)
But I'd agree these changes are radical enough that maintaining the async
branch a while longer is probably a good thing.
Bill