Here's a simple patch to remove the need to zero certain mempool buffers in squid-2.HEAD. I've had various versions of this float around and somewhat tested for a while.
http://www.creative.net.au/diffs/20070921-squid2.head-nonzero.diff The aim here is to allow selective things to be unzeroed - mostly strings and buffers, the high-volume 'things'. I'm still getting a proper polygraph testing environment at home (finally) but, as always, I can never get polymix-4 to run. Initial tests show there's a noticable CPU drop. About 10% of runtime on my slow p3-600 server is spent in memset()'ing memory. This patch drops that right down into insignificance. I think it won't have much of an impact on modern platforms with larger caches and larger memory busses but it can't hurt. I'll gather some more statistics before I commit it. About the only change I'll make is to have the actual non-zero'ing a run-time choice so people can turn off buffer-zero'ing in squid.conf. Adrian