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