Hiya, My profiling shows that an appreciable chunk of the memory pool allocator is MEM_CLIENT_SOCK_BUF as Squid winds its way through object data 4k at a time.
I had a brief look at the code and it seems that the buffers are almost always being used once and exist just for the lifetime of the storeClientCopy(). Its entirely possible I've missed one of the cases where the buffer is being reused in a weird way or I'm possibly over-writing a currently-used buffer with new data before some routine(s) have finished with it. In any case, this considerably reduces the number of calls to the allocator and I think it'll be worth it in the (squid-2.6) long-run to fix. I'd appreciate some testing and comments. I'd like to commit this to squid-2.6 and move forward with some more client-side related optimisations. Adrian
