small optimisation: client_side.c

From: Adrian Chadd <adrian@dont-contact.us>
Date: Sat, 19 Aug 2006 10:57:45 +0800

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
Received on Fri Aug 18 2006 - 20:56:35 MDT

This archive was generated by hypermail pre-2.1.9 : Fri Sep 01 2006 - 12:00:03 MDT