I've committed the comm optimisation with a few slight modifications. Just for fun, I've put the output of one of the profiling runs (via gprof) on my website.
http://www.creative.net.au/diffs/trace.4.txt Its ~400k. Now, I know that the time quantas in gprof can be a bit "wrong" but I believe the call graph and the function call counts are correct. This is on my Athlon 1800+ XP running 2.6, handling ~230 requests a second. This snapshot covered around 2.3 million requests. Its nice to not see poll() up there :) I'm playing with sysprof and oprofile to get more of a handle on where we're spending most of our time and to see if I can cut a few chunks out of the CPU usage. At the moment we're spending a lot of time in headersEnd(); we're also spending a few % of time zero'ing the stmem buffers. Adrian
