You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2007/08/02 17:07:49 UTC
Summary of memory profile work:
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.