qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Summary of memory profile work:
Date Thu, 02 Aug 2007 15:07:49 GMT
I ran the google heap profilef on qpidd compiled with with -O3 --ggdb
and ran src/tests/topictest with its default parameters: 
SUBSCRIBERS=10
MESSAGES=2000
BATCHES=10

qpidd makes a staggering 1.2 *million* heap allocations. Here are the
top offenders. The columns are: direct allocs, direct%,  running total
of direct%, cumulative calls (self and all all children), cumulative%


  205090  17.1%  17.1%   205090  17.1%
boost::detail::function::functor_manager::manage
  200362  16.7%  33.7%   200362  16.7% qpid::make_shared_ptr
  200210  16.7%  50.4%   424477  35.3%
qpid::broker::BasicMessage::deliver
  200210  16.7%  67.0%   413090  34.4% qpid::broker::Queue::process
   81041   6.7%  73.8%    81041   6.7%
std::basic_string::_Rep::_S_create


The google tool also generates a call graph (attached)

I'm going to takle the heap allocation of frame bodies (which show up as
BasicMessage::deliver and make_shared_ptr above) Big commit coming soon,
I'll give fair warning.

Cheers,
Alan.

Mime
View raw message