Thu 06 Mar 2008 08:33:23 PM UTC, comment #2:
After recent changes GC is not the bottleneck anymore,
altought this movie allocates a lot of temporary objects,
which are only deleted on next GC run.
property names lookup seems it now..
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
5.10 1.79 1.79 42837330 0.00 0.00 gnash::iterator_find(boost::multi_index::multi_index_container<gnash::Property, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::composite_key<gnash::Property, boost::multi_index::member<gnash::Property, unsigned int, &(gnash::Property::mName)>, boost::multi_index::member<gnash::Property, unsigned int, &(gnash::Property::mNamespace)>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, mpl_::na, mpl_::na>, boost::multi_index::ordered_unique<boost::multi_index::tag<gnash::PropertyList::oType, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<gnash::Property, int, &(gnash::Property::mOrderId)>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<gnash::Property> >&, unsigned int, unsigned int)
4.39 3.33 1.54 15945070 0.00 0.00 gnash::string_table::find(std::string const&, bool)
2.85 4.33 1.00 16286053 0.00 0.00 agg::rasterizer_cells_aa<agg::cell_style_aa>::line(int, int, int, int)
2.17 5.09 0.76 865405 0.00 0.00 gnash::ActionExec::operator()()
|