what does init_dummy do?
jurgen@rle-vlsi.mit.edu
jurgen@rle-vlsi.mit.edu
Fri Jan 9 13:24:00 GMT 1998
I am currently timing my egcs 1.0.1 code (compiled with -O2).
Below is an extract from gprof:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls us/call us/call name
62.82 0.98 0.98 mcount
27.56 1.41 0.43 1256682 0.34 0.38 init_dummy
1.92 1.44 0.03 382011 0.08 0.08 RealTolerance::~RealTolerance(void)
1.92 1.47 0.03 21408 1.40 1.40 SpherePatchMap::pushFwd(Vector<2, double> const &) const
0.64 1.48 0.01 382011 0.03 0.03 RealTolerance::RealTolerance(void)
0.64 1.49 0.01 162090 0.06 0.06 RealTolerance::operator=(RealTolerance const &)
0.64 1.50 0.01 21414 0.47 0.47 RigidBodyTransform::pushFwd(Vector<3, double> const &) const
0.64 1.51 0.01 10656 0.94 0.94 Lagrange::operator()(Vector<2, double> const &, Vector<2, unsigned int>
0.64 1.52 0.01 10656 0.94 0.94 SpherePatchMap::jacobian(Vector<2, double> const &, Vector<2, double> *
0.64 1.53 0.01 10656 0.94 0.94 RigidBodyTransform::jacobian(Vector<3, double> const &, Vector<3, doubl
0.64 1.54 0.01 abs(double)
0.64 1.55 0.01 dgemm_
0.64 1.56 0.01 dger_
After we discard mcount (which is part of gprof), the most time is spent in
init_dummy. This function call is inserted by the compiler and I have no idea
what it is doing, but it sure is called often. Can anybody give me a hint
if this behavior is expected or if this is a bug. What is init_dummy doing
and why is called that often?
The % of time does not change substantially with larger problems (total time
400s):
init_dummy takes always about 30%, while mcount takes about 60%. I would be
much happier if I would spent most of my time in this numerical code doing
actual floating point operations.
-- Jurgen
More information about the Gcc-bugs
mailing list