more profiling

From: Adrian Chadd <adrian@dont-contact.us>
Date: Fri, 15 Sep 2006 16:25:21 +0800

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*)
    3809 5.25% 44.12% MemPool::push(void*)
    1407 1.94% 46.06% MemPool::get()
    1295 1.79% 47.84% mem_hdr::copyAvailable(mem_node*, unsigned int, unsigned int, char*) const
     956 1.32% 49.16% headersEnd
     884 1.22% 50.38% String::limitInit(char const*, int)
     836 1.15% 51.53% mem_hdr::writeAvailable(mem_node*, unsigned int, unsigned int, char const*)
     652 0.90% 52.43% MemBuf::append(char const*, int)
     625 0.86% 53.29% httpHeaderIdByName

gprof output:

Flat profile:

Each sample counts as 0.01 seconds.
  % cumulative self self total
 time seconds seconds calls Ks/call Ks/call name
 41.72 520.92 520.92 96886 0.00 0.00 MemPool::clean(long)
 18.68 754.16 233.24 95668 0.00 0.00 MemPool::getStats(MemPoolStats*)
  3.78 801.41 47.25 80591325 0.00 0.00 MemPool::push(void*)
  1.77 823.52 22.11 80591448 0.00 0.00 MemPool::get()
  1.36 840.45 16.93 1869713 0.00 0.00 mem_hdr::copyAvailable(mem_node*, unsigned int, unsigned int, char*) const
  1.00 852.93 12.48 1945388 0.00 0.00 headersEnd
  0.91 864.32 11.38 9211732 0.00 0.00 mem_hdr::writeAvailable(mem_node*, unsigned int, unsigned int, char const*)
  0.85 874.90 10.59 46796172 0.00 0.00 String::limitInit(char const*, int)
  0.65 883.03 8.12 27262950 0.00 0.00 MemBuf::append(char const*, int)
  0.61 890.64 7.62 8808921 0.00 0.00 httpHeaderIdByName

I wonder why the chunked allocator is doing -that-..

Adrian
Received on Fri Sep 15 2006 - 02:23:57 MDT

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