Re: more profiling

From: Henrik Nordstrom <henrik@dont-contact.us>
Date: Fri, 15 Sep 2006 10:45:49 +0200

fre 2006-09-15 klockan 16:25 +0800 skrev Adrian Chadd:
> I've done some more profiling. Same test setup, current squid3 source.
>
> perfmon output:
>
> --------------------------------------------------------------------------------
> Samples Self % Total % Function
>
> 18915 26.09% 26.09% MemPool::clean(long)
> 9266 12.78% 38.86% MemPool::getStats(MemPoolStats*)

Thats scary indeed.. My guess is that it would be worth the effort
adding a little header to each object indicating their home chunk,
avoiding the need for this rather heavy garbage collect.

Why getStats is as heavy is a little mystery, but I suppose the clean
call got inlined or something.. or maybe the chunk size is simply poorly
selected which bites both. I also wonder a bit why it got called as
often.

Do you have any very large pools in this workload?

Would also be interesting to compare to a benchmark with the non-pooled
allocator. Simply start Squid with MEMPOOLS=0 in the environment.

Regards
Henrik

Received on Fri Sep 15 2006 - 02:45:56 MDT

This archive was generated by hypermail pre-2.1.9 : Sun Oct 01 2006 - 12:00:06 MDT