Confused by this code profile.

Martin York martin.york@veritas.com
Tue Nov 2 17:54:00 GMT 2004


 


This is just a theory.

I bet it is because of the default copy constructor on a class.

Do you call a lot of functions by value?

MyFunctionCall(ClassName X)
{
}

In the above case each call will create a new copy of the object passed
using the copy constructor.



If you change these to call by reference you will avoid copy constructor
costs:

MyFunctionCall(const ClassName& X)
{
}

NB:
If you don't explicitly define a copy constructor:

ClassName::ClassName(const ClassName& from)
{
	/* Copy from 'from' into me */
}

Then the compiler will define one for you. The default copy constructor
is a shallow
copy of the old object into the new object (i.e. probably a mem copy).


Martin




-----Original Message-----
From: Jack Liddle [mailto:j.liddle1@physics.ox.ac.uk] 
Sent: 02 November 2004 10:22
To: gcc-help@gcc.gnu.org
Subject: Confused by this code profile.

Hi there Guys.

I have a code profile which I don't quite understand.

The code is written in ObjC and compiled with GCC (gcc version 2.96
20000731 (Red Hat Linux 7.3 2.96-113))

When compiled and profiles (gcc -O3 SUnGen.m -o SUnGenmk2 -static -lm
-lobjc -pg) I get the code profile included at the bottom.

What I don't understand is what memcpy is doing there.  I certainly did
call it explicitly.  It remains at constant 30% of time regardless on
the number of 'updates' done (its a Monte Carlo simulation).  Any idea
what this?

Also any idea what the _mcount_internal does?

Also is this the right place to ask?

Thanks for any help.  Could I also ask for any responses to be sent
directly to me as well, by departments email filters are a bit to fierce
and sometimes I miss messages from this list

Thanks

Jack Liddle


Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 29.96     65.24    65.24                             memcpy
 11.26     89.76    24.52                             __mcount_internal
  9.88    111.27    21.51 29748600     0.00     0.00
_i_Matrix__MatrixMultipliedBy_
  7.50    127.61    16.34                             objc_msg_lookup
  4.69    137.82    10.21                             chunk_alloc
  3.41    145.25     7.43                             chunk_free
  3.14    152.08     6.83 76949300     0.00     0.00
_i_Matrix__InitialiseToSize_
  3.03    158.67     6.59 808072200     0.00     0.00
_i_Matrix__getMatrixEntry__
  2.26    163.59     4.92 535329000     0.00     0.00
_i_Matrix__setMatrixEntry__toValue_
  2.12    168.21     4.62                             malloc
  2.08    172.74     4.53                             mcount
  2.03    177.17     4.43                             __ieee754_pow
  1.80    181.10     3.93                             cfree
  1.75    184.92     3.82 17852400     0.00     0.00
_i_Matrix__HermitianConjugate
  1.64    188.50     3.58                             memset
  1.38    191.50     3.00  4860000     0.00     0.00
_i_Matrix__KennedyPendletonUsing_
  1.01    193.69     2.19 76941200     0.00     0.00  _i_Matrix(float,
long double,...)(...)
  0.90    195.66     1.97  6480000     0.00     0.00
_i_Matrix__MatrixAddedTo_
  0.87    197.55     1.89                             hash_string
  0.86    199.43     1.88      200     9.40   282.55
_i_Lattice__HeatBathUpdateUsing_
  0.75    201.06     1.63  1620000     0.00     0.02
_i_Matrix__CMwith_accordingto_
  0.74    202.68     1.62  4860000     0.00     0.00
_i_Matrix__DividedByScalar_
  0.72    204.25     1.57                             strcmp
  0.52    205.38     1.13                             erand48_r
  0.51    206.48     1.10                             hash_value_for_key
  0.44    207.44     0.96  4860000     0.00     0.00
_i_Matrix__Unitarise
  0.44    208.40     0.96
objc_msg_lookup_super
  0.33    209.12     0.72                             __ieee754_log
  0.33    209.84     0.72                             pow
  0.32    210.54     0.70                             __drand48_iterate
  0.29    211.18     0.64                             objc_mutex_unlock
  0.27    211.77     0.59                             objc_get_class
  0.26    212.33     0.56
class_create_instance
  0.25    212.87     0.54                             compare_strings
  0.25    213.41     0.54                             objc_mutex_lock
  0.24    213.94     0.53                             log
  0.20    214.38     0.44                             object_dispose
  0.19    214.79     0.41
__objc_object_dispose
  0.17    215.16     0.37                             cos
  0.14    215.47     0.31                             _c_Object__alloc
  0.13    215.75     0.28                             objc_thread_id
  0.11    215.99     0.24                             isnan
  0.10    216.20     0.21                             __objc_thread_id
  0.07    216.36     0.16                             __objc_mutex_lock
  0.07    216.52     0.16                             _i_Object(float,
long double,...)(...)
  0.06    216.66     0.14
__objc_object_alloc
  0.06    216.79     0.13                             _i_Object__init
  0.06    216.92     0.13                             objc_malloc
  0.06    217.04     0.12  4860000     0.00     0.00
_i_Matrix__FindDeterminant
  0.06    217.16     0.12
__objc_mutex_unlock
  0.06    217.28     0.12                             drand48
  0.06    217.40     0.12                             objc_free
  0.04    217.49     0.09                             finite
  0.03    217.56     0.07 34608800     0.00     0.00
_i_Matrix__getDimension
  0.03    217.63     0.07  1620000     0.00     0.00
_i_Matrix__setToZero
  0.02    217.67     0.04                             write
  0.01    217.69     0.02  4860001     0.00     0.00
_i_Simulation__getBeta
  0.01    217.71     0.02   604800     0.00     0.00
_i_Lattice__getLinkAt___inDirection_
  0.00    217.72     0.01   754019     0.00     0.00
_i_Simulation__getNt
  0.00    217.73     0.01   196200     0.00     0.00
_i_Matrix__FindTrace
  0.00    217.74     0.01      200     0.05     3.34
_i_Observer__FindPolyakovloopSumsOf_
  0.00    217.75     0.01                             __mpn_mul_1
  0.00    217.75     0.00  5073901     0.00     0.00
_i_Simulation__getNc
  0.00    217.75     0.00   845955     0.00     0.00
_i_Simulation__getNs
  0.00    217.75     0.00     6000     0.00     0.00
_i_Observer__GivePolyakovloopNumber_
  0.00    217.75     0.00      202     0.00     0.00
_i_Simulation__getconfs
  0.00    217.75     0.00      200     0.00     0.00
_i_Filehandler__WritePlaquettesByAsking_
  0.00    217.75     0.00      200     0.00     0.00
_i_Filehandler__WritePolyakovloopsByAsking_theyarethislong_
  0.00    217.75     0.00      200     0.00     0.35
_i_Observer__FindAveragePlaquetteOf_
  0.00    217.75     0.00      200     0.00     0.00
_i_Observer__GiveAveragePlaquette
  0.00    217.75     0.00      200     0.00     0.00  _i_Observer__speak
  0.00    217.75     0.00        1     0.00     0.00  global
constructors
keyed to main
  0.00    217.75     0.00        1     0.00     0.00
_i_Filehandler__InitialiseFileNames_
  0.00    217.75     0.00        1     0.00     0.00
_i_Filehandler__OpenFilesForWriting
  0.00    217.75     0.00        1     0.00     0.72
_i_Lattice__InitialiseAccordingTo_
  0.00    217.75     0.00        1     0.00     0.00
_i_Observer__InitialiseObserver_
  0.00    217.75     0.00        1     0.00     0.00
_i_Simulation__initfromCommandLineForCreation_with_
  0.00    217.75     0.00        1     0.00 57250.00  main

 %         the percentage of the total running time of the
time       program used by this function.

cumulative a running sum of the number of seconds accounted
 seconds   for by this function and those listed above it.

 self      the number of seconds accounted for by this
seconds    function alone.  This is the major sort for this
           listing.

calls      the number of times this function was invoked, if
           this function is profiled, else blank.

 self      the average number of milliseconds spent in this
ms/call    function per call, if this function is profiled,
	   else blank.

 total     the average number of milliseconds spent in this
ms/call    function and its descendents per call, if this
	   function is profiled, else blank.

name       the name of the function.  This is the minor sort
           for this listing. The index shows the location of
	   the function in the gprof listing. If the index is
	   in parenthesis it shows where it would appear in
	   the gprof listing if it were to be printed.

		     Call graph (explanation follows)


granularity: each sample hit covers 4 byte(s) for 0.01% of 188.70
seconds

index % time    self  children    called     name
                                                 <spontaneous>
[1]     34.6   65.24    0.00                 memcpy [1]
-----------------------------------------------
                0.00   57.25       1/1           __libc_start_main [3]
[2]     30.3    0.00   57.25       1         main [2]
                1.88   54.63     200/200
_i_Lattice__HeatBathUpdateUsing_ [4]
                0.01    0.66     200/200
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.00    0.07     200/200
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.00    0.00       1/1
_i_Lattice__InitialiseAccordingTo_ [64]
                0.00    0.00       1/1
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00     201/202         _i_Simulation__getconfs
[504]
                0.00    0.00     200/200         _i_Observer__speak
[508]
                0.00    0.00     200/200
_i_Filehandler__WritePlaquettesByAsking_ [505]
                0.00    0.00     200/845955      _i_Simulation__getNs
[502]
                0.00    0.00     200/200
_i_Filehandler__WritePolyakovloopsByAsking_theyarethislong_ [506]
                0.00    0.00       1/1
_i_Simulation__initfromCommandLineForCreation_with_ [512]
                0.00    0.00       1/1
_i_Filehandler__OpenFilesForWriting [510]
                0.00    0.00       1/1
_i_Observer__InitialiseObserver_ [511]
-----------------------------------------------
                                                 <spontaneous>
[3]     30.3    0.00   57.25                 __libc_start_main [3]
                0.00   57.25       1/1           main [2]
-----------------------------------------------
                1.88   54.63     200/200         main [2]
[4]     29.9    1.88   54.63     200
_i_Lattice__HeatBathUpdateUsing_ [4]
                1.63   29.52 1620000/1620000
_i_Matrix__CMwith_accordingto_ [6]
                9.37    4.68 12960000/29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                2.77    2.06 12960000/17852400
_i_Matrix__HermitianConjugate [12]
                1.97    1.59 6480000/6480000
_i_Matrix__MatrixAddedTo_
[19]
                0.97    0.00 34020200/76941200     _i_Matrix(float, long
double,...)(...) [21]
                0.07    0.00 1620000/1620000     _i_Matrix__setToZero
[57]
                0.00    0.00     200/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.00    0.00     800/754019      _i_Simulation__getNt
[61]
                0.00    0.00     200/34608800
_i_Matrix__getDimension
[56]
                0.00    0.00  576600/845955      _i_Simulation__getNs
[502]
-----------------------------------------------
                0.04    0.02   48600/29748600
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.39    0.19  540000/29748600
_i_Observer__FindPolyakovloopSumsOf_ [31]
                3.51    1.75 4860000/29748600
_i_Matrix__KennedyPendletonUsing_ [8]
                8.20    4.09 11340000/29748600
_i_Matrix__CMwith_accordingto_ [6]
                9.37    4.68 12960000/29748600
_i_Lattice__HeatBathUpdateUsing_ [4]
[5]     17.1   21.51   10.74 29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                5.80    0.00 710872200/808072200
_i_Matrix__getMatrixEntry__ [13]
                2.64    0.00 29748600/76949300
_i_Matrix__InitialiseToSize_ [11]
                2.24    0.00 243437400/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
                0.06    0.00 29748600/34608800
_i_Matrix__getDimension
[56]
-----------------------------------------------
                1.63   29.52 1620000/1620000
_i_Lattice__HeatBathUpdateUsing_ [4]
[6]     16.5    1.63   29.52 1620000
_i_Matrix__CMwith_accordingto_ [6]
                3.00   12.19 4860000/4860000
_i_Matrix__KennedyPendletonUsing_ [8]
                8.20    4.09 11340000/29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                0.72    0.00 8100000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.65    0.00 22680000/76941200     _i_Matrix(float, long
double,...)(...) [21]
                0.36    0.00 38880000/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
                0.32    0.00 38880000/808072200
_i_Matrix__getMatrixEntry__ [13]
-----------------------------------------------
                                                 <spontaneous>
[7]      8.7   16.34    0.00                 objc_msg_lookup [7]
-----------------------------------------------
                3.00   12.19 4860000/4860000
_i_Matrix__CMwith_accordingto_ [6]
[8]      8.1    3.00   12.19 4860000
_i_Matrix__KennedyPendletonUsing_ [8]
                3.51    1.75 4860000/29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                1.62    0.61 4860000/4860000
_i_Matrix__DividedByScalar_ [20]
                1.04    0.77 4860000/17852400
_i_Matrix__HermitianConjugate [12]
                0.96    0.61 4860000/4860000     _i_Matrix__Unitarise
[23]
                0.55    0.00 19440000/76941200     _i_Matrix(float, long
double,...)(...) [21]
                0.43    0.00 4860000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.18    0.00 19440000/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
                0.12    0.00 4860000/4860000
_i_Matrix__FindDeterminant [52]
                0.02    0.00 4860000/4860001     _i_Simulation__getBeta
[59]
                0.01    0.00 4860000/34608800
_i_Matrix__getDimension
[56]
                0.00    0.00 4860000/5073901     _i_Simulation__getNc
[501]
-----------------------------------------------
                                                 <spontaneous>
[9]      5.4   10.21    0.00                 chunk_alloc [9]
-----------------------------------------------
                                                 <spontaneous>
[10]     3.9    7.43    0.00                 chunk_free [10]
-----------------------------------------------
                0.00    0.00     200/76949300
_i_Lattice__HeatBathUpdateUsing_ [4]
                0.00    0.00    8100/76949300
_i_Lattice__InitialiseAccordingTo_ [64]
                0.02    0.00  180000/76949300
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.43    0.00 4860000/76949300
_i_Matrix__DividedByScalar_ [20]
                0.43    0.00 4860000/76949300     _i_Matrix__Unitarise
[23]
                0.43    0.00 4860000/76949300
_i_Matrix__KennedyPendletonUsing_ [8]
                0.58    0.00 6480000/76949300
_i_Matrix__MatrixAddedTo_ [19]
                0.72    0.00 8100000/76949300
_i_Matrix__CMwith_accordingto_ [6]
                1.58    0.00 17852400/76949300
_i_Matrix__HermitianConjugate [12]
                2.64    0.00 29748600/76949300
_i_Matrix__MatrixMultipliedBy_ [5]
[11]     3.6    6.83    0.00 76949300
_i_Matrix__InitialiseToSize_
[11]
-----------------------------------------------
                0.01    0.01   32400/17852400
_i_Observer__FindAveragePlaquetteOf_ [55]
                1.04    0.77 4860000/17852400
_i_Matrix__KennedyPendletonUsing_ [8]
                2.77    2.06 12960000/17852400
_i_Lattice__HeatBathUpdateUsing_ [4]
[12]     3.5    3.82    2.84 17852400
_i_Matrix__HermitianConjugate [12]
                1.58    0.00 17852400/76949300
_i_Matrix__InitialiseToSize_ [11]
                1.25    0.00 136371600/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
-----------------------------------------------
                0.32    0.00 38880000/808072200
_i_Matrix__CMwith_accordingto_ [6]
                0.48    0.00 58320000/808072200
_i_Matrix__MatrixAddedTo_ [19]
                5.80    0.00 710872200/808072200
_i_Matrix__MatrixMultipliedBy_ [5]
[13]     3.5    6.59    0.00 808072200
_i_Matrix__getMatrixEntry__
[13]
-----------------------------------------------
                0.18    0.00 19440000/535329000
_i_Matrix__DividedByScalar_ [20]
                0.18    0.00 19440000/535329000     _i_Matrix__Unitarise
[23]
                0.18    0.00 19440000/535329000
_i_Matrix__KennedyPendletonUsing_ [8]
                0.36    0.00 38880000/535329000
_i_Matrix__CMwith_accordingto_ [6]
                0.54    0.00 58320000/535329000
_i_Matrix__MatrixAddedTo_ [19]
                1.25    0.00 136371600/535329000
_i_Matrix__HermitianConjugate [12]
                2.24    0.00 243437400/535329000
_i_Matrix__MatrixMultipliedBy_ [5]
[14]     2.6    4.92    0.00 535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
-----------------------------------------------
                                                 <spontaneous>
[15]     2.4    4.62    0.00                 malloc [15]
-----------------------------------------------
                                                 <spontaneous>
[16]     2.3    4.43    0.00                 __ieee754_pow [16]
-----------------------------------------------
                                                 <spontaneous>
[17]     2.1    3.93    0.00                 cfree [17]
-----------------------------------------------
                                                 <spontaneous>
[18]     1.9    3.58    0.00                 memset [18]
-----------------------------------------------
                1.97    1.59 6480000/6480000
_i_Lattice__HeatBathUpdateUsing_ [4]
[19]     1.9    1.97    1.59 6480000         _i_Matrix__MatrixAddedTo_
[19]
                0.58    0.00 6480000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.54    0.00 58320000/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
                0.48    0.00 58320000/808072200
_i_Matrix__getMatrixEntry__ [13]
-----------------------------------------------
                1.62    0.61 4860000/4860000
_i_Matrix__KennedyPendletonUsing_ [8]
[20]     1.2    1.62    0.61 4860000         _i_Matrix__DividedByScalar_
[20]
                0.43    0.00 4860000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.18    0.00 19440000/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
-----------------------------------------------
                0.00    0.00   81000/76941200
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.02    0.00  720000/76941200
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.55    0.00 19440000/76941200
_i_Matrix__KennedyPendletonUsing_ [8]
                0.65    0.00 22680000/76941200
_i_Matrix__CMwith_accordingto_ [6]
                0.97    0.00 34020200/76941200
_i_Lattice__HeatBathUpdateUsing_ [4]
[21]     1.2    2.19    0.00 76941200         _i_Matrix(float, long
double,...)(...) [21]
-----------------------------------------------
                                                 <spontaneous>
[22]     1.0    1.89    0.00                 hash_string [22]
-----------------------------------------------
                0.96    0.61 4860000/4860000
_i_Matrix__KennedyPendletonUsing_ [8]
[23]     0.8    0.96    0.61 4860000         _i_Matrix__Unitarise [23]
                0.43    0.00 4860000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.18    0.00 19440000/535329000
_i_Matrix__setMatrixEntry__toValue_ [14]
-----------------------------------------------
                                                 <spontaneous>
[24]     0.8    1.57    0.00                 strcmp [24]
-----------------------------------------------
                                                 <spontaneous>
[25]     0.6    1.13    0.00                 erand48_r [25]
-----------------------------------------------
                                                 <spontaneous>
[26]     0.6    1.10    0.00                 hash_value_for_key [26]
-----------------------------------------------
                                                 <spontaneous>
[27]     0.5    0.96    0.00                 objc_msg_lookup_super [27]
-----------------------------------------------
                                                 <spontaneous>
[28]     0.4    0.72    0.00                 pow [28]
-----------------------------------------------
                                                 <spontaneous>
[29]     0.4    0.72    0.00                 __ieee754_log [29]
-----------------------------------------------
                                                 <spontaneous>
[30]     0.4    0.70    0.00                 __drand48_iterate [30]
-----------------------------------------------
                0.01    0.66     200/200         main [2]
[31]     0.4    0.01    0.66     200
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.39    0.19  540000/29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                0.02    0.00  720000/76941200     _i_Matrix(float, long
double,...)(...) [21]
                0.02    0.00  540000/604800
_i_Lattice__getLinkAt___inDirection_ [60]
                0.02    0.00  180000/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.01    0.00  720000/754019      _i_Simulation__getNt
[61]
                0.01    0.00  180000/196200      _i_Matrix__FindTrace
[62]
                0.00    0.00  192200/845955      _i_Simulation__getNs
[502]
                0.00    0.00  180000/5073901     _i_Simulation__getNc
[501]
-----------------------------------------------
                                                 <spontaneous>
[32]     0.3    0.64    0.00                 objc_mutex_unlock [32]
-----------------------------------------------
                                                 <spontaneous>
[33]     0.3    0.59    0.00                 objc_get_class [33]
-----------------------------------------------
                                                 <spontaneous>
[34]     0.3    0.56    0.00                 class_create_instance [34]
-----------------------------------------------
                                                 <spontaneous>
[35]     0.3    0.54    0.00                 compare_strings [35]
-----------------------------------------------
                                                 <spontaneous>
[36]     0.3    0.54    0.00                 objc_mutex_lock [36]
-----------------------------------------------
                                                 <spontaneous>
[37]     0.3    0.53    0.00                 log [37]
-----------------------------------------------
                                                 <spontaneous>
[38]     0.2    0.44    0.00                 object_dispose [38]
-----------------------------------------------
                                                 <spontaneous>
[39]     0.2    0.41    0.00                 __objc_object_dispose [39]
-----------------------------------------------
                                                 <spontaneous>
[40]     0.2    0.37    0.00                 cos [40]
-----------------------------------------------
                                                 <spontaneous>
[41]     0.2    0.31    0.00                 _c_Object__alloc [41]
-----------------------------------------------
                                                 <spontaneous>
[42]     0.1    0.28    0.00                 objc_thread_id [42]
-----------------------------------------------
                                                 <spontaneous>
[43]     0.1    0.24    0.00                 isnan [43]
-----------------------------------------------
                                                 <spontaneous>
[44]     0.1    0.21    0.00                 __objc_thread_id [44]
-----------------------------------------------
                                                 <spontaneous>
[45]     0.1    0.16    0.00                 __objc_mutex_lock [45]
-----------------------------------------------
                                                 <spontaneous>
[46]     0.1    0.16    0.00                 _i_Object(float, long
double,...)(...) [46]
-----------------------------------------------
                                                 <spontaneous>
[47]     0.1    0.14    0.00                 __objc_object_alloc [47]
-----------------------------------------------
                                                 <spontaneous>
[48]     0.1    0.13    0.00                 objc_malloc [48]
-----------------------------------------------
                                                 <spontaneous>
[49]     0.1    0.13    0.00                 _i_Object__init [49]
-----------------------------------------------
                                                 <spontaneous>
[50]     0.1    0.12    0.00                 drand48 [50]
-----------------------------------------------
                                                 <spontaneous>
[51]     0.1    0.12    0.00                 objc_free [51]
-----------------------------------------------
                0.12    0.00 4860000/4860000
_i_Matrix__KennedyPendletonUsing_ [8]
[52]     0.1    0.12    0.00 4860000         _i_Matrix__FindDeterminant
[52]
-----------------------------------------------
                                                 <spontaneous>
[53]     0.1    0.12    0.00                 __objc_mutex_unlock [53]
-----------------------------------------------
                                                 <spontaneous>
[54]     0.0    0.09    0.00                 finite [54]
-----------------------------------------------
                0.00    0.07     200/200         main [2]
[55]     0.0    0.00    0.07     200
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.04    0.02   48600/29748600
_i_Matrix__MatrixMultipliedBy_ [5]
                0.01    0.01   32400/17852400
_i_Matrix__HermitianConjugate [12]
                0.00    0.00   81000/76941200     _i_Matrix(float, long
double,...)(...) [21]
                0.00    0.00   64800/604800
_i_Lattice__getLinkAt___inDirection_ [60]
                0.00    0.00   16200/196200      _i_Matrix__FindTrace
[62]
                0.00    0.00   33200/754019      _i_Simulation__getNt
[61]
                0.00    0.00   64800/845955      _i_Simulation__getNs
[502]
                0.00    0.00   25800/5073901     _i_Simulation__getNc
[501]
-----------------------------------------------
                0.00    0.00     200/34608800
_i_Lattice__HeatBathUpdateUsing_ [4]
                0.01    0.00 4860000/34608800
_i_Matrix__KennedyPendletonUsing_ [8]
                0.06    0.00 29748600/34608800
_i_Matrix__MatrixMultipliedBy_ [5]
[56]     0.0    0.07    0.00 34608800         _i_Matrix__getDimension
[56]
-----------------------------------------------
                0.07    0.00 1620000/1620000
_i_Lattice__HeatBathUpdateUsing_ [4]
[57]     0.0    0.07    0.00 1620000         _i_Matrix__setToZero [57]
-----------------------------------------------
                                                 <spontaneous>
[58]     0.0    0.04    0.00                 write [58]
-----------------------------------------------
                0.00    0.00       1/4860001
_i_Filehandler__InitialiseFileNames_ [65]
                0.02    0.00 4860000/4860001
_i_Matrix__KennedyPendletonUsing_ [8]
[59]     0.0    0.02    0.00 4860001         _i_Simulation__getBeta [59]
-----------------------------------------------
                0.00    0.00   64800/604800
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.02    0.00  540000/604800
_i_Observer__FindPolyakovloopSumsOf_ [31]
[60]     0.0    0.02    0.00  604800
_i_Lattice__getLinkAt___inDirection_ [60]
-----------------------------------------------
                0.00    0.00       1/754019
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00      18/754019
_i_Lattice__InitialiseAccordingTo_ [64]
                0.00    0.00     800/754019
_i_Lattice__HeatBathUpdateUsing_ [4]
                0.00    0.00   33200/754019
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.01    0.00  720000/754019
_i_Observer__FindPolyakovloopSumsOf_ [31]
[61]     0.0    0.01    0.00  754019         _i_Simulation__getNt [61]
-----------------------------------------------
                0.00    0.00   16200/196200
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.01    0.00  180000/196200
_i_Observer__FindPolyakovloopSumsOf_ [31]
[62]     0.0    0.01    0.00  196200         _i_Matrix__FindTrace [62]
-----------------------------------------------
                                                 <spontaneous>
[63]     0.0    0.01    0.00                 __mpn_mul_1 [63]
-----------------------------------------------
                0.00    0.00       1/1           main [2]
[64]     0.0    0.00    0.00       1
_i_Lattice__InitialiseAccordingTo_ [64]
                0.00    0.00    8100/76949300
_i_Matrix__InitialiseToSize_ [11]
                0.00    0.00      18/754019      _i_Simulation__getNt
[61]
                0.00    0.00    8100/5073901     _i_Simulation__getNc
[501]
                0.00    0.00    5953/845955      _i_Simulation__getNs
[502]
-----------------------------------------------
                0.00    0.00       1/1           main [2]
[65]     0.0    0.00    0.00       1
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00       1/754019      _i_Simulation__getNt
[61]
                0.00    0.00       1/4860001     _i_Simulation__getBeta
[59]
                0.00    0.00       1/845955      _i_Simulation__getNs
[502]
                0.00    0.00       1/5073901     _i_Simulation__getNc
[501]
                0.00    0.00       1/202         _i_Simulation__getconfs
[504]
-----------------------------------------------
                0.00    0.00       1/5073901
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00    8100/5073901
_i_Lattice__InitialiseAccordingTo_ [64]
                0.00    0.00   25800/5073901
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.00    0.00  180000/5073901
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.00    0.00 4860000/5073901
_i_Matrix__KennedyPendletonUsing_ [8]
[501]    0.0    0.00    0.00 5073901         _i_Simulation__getNc [501]
-----------------------------------------------
                0.00    0.00       1/845955
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00       1/845955
_i_Observer__InitialiseObserver_ [511]
                0.00    0.00     200/845955      main [2]
                0.00    0.00    5953/845955
_i_Lattice__InitialiseAccordingTo_ [64]
                0.00    0.00    6200/845955      _i_Observer__speak
[508]
                0.00    0.00   64800/845955
_i_Observer__FindAveragePlaquetteOf_ [55]
                0.00    0.00  192200/845955
_i_Observer__FindPolyakovloopSumsOf_ [31]
                0.00    0.00  576600/845955
_i_Lattice__HeatBathUpdateUsing_ [4]
[502]    0.0    0.00    0.00  845955         _i_Simulation__getNs [502]
-----------------------------------------------
                0.00    0.00    6000/6000
_i_Filehandler__WritePolyakovloopsByAsking_theyarethislong_ [506]
[503]    0.0    0.00    0.00    6000
_i_Observer__GivePolyakovloopNumber_ [503]
-----------------------------------------------
                0.00    0.00       1/202
_i_Filehandler__InitialiseFileNames_ [65]
                0.00    0.00     201/202         main [2]
[504]    0.0    0.00    0.00     202         _i_Simulation__getconfs
[504]
-----------------------------------------------
                0.00    0.00     200/200         main [2]
[505]    0.0    0.00    0.00     200
_i_Filehandler__WritePlaquettesByAsking_ [505]
                0.00    0.00     200/200
_i_Observer__GiveAveragePlaquette [507]
-----------------------------------------------
                0.00    0.00     200/200         main [2]
[506]    0.0    0.00    0.00     200
_i_Filehandler__WritePolyakovloopsByAsking_theyarethislong_ [506]
                0.00    0.00    6000/6000
_i_Observer__GivePolyakovloopNumber_ [503]
-----------------------------------------------
                0.00    0.00     200/200
_i_Filehandler__WritePlaquettesByAsking_ [505]
[507]    0.0    0.00    0.00     200
_i_Observer__GiveAveragePlaquette [507]
-----------------------------------------------
                0.00    0.00     200/200         main [2]
[508]    0.0    0.00    0.00     200         _i_Observer__speak [508]
                0.00    0.00    6200/845955      _i_Simulation__getNs
[502]
-----------------------------------------------
                0.00    0.00       1/1           __do_global_ctors_aux
[638]
[509]    0.0    0.00    0.00       1         global constructors keyed
to
main [509]
-----------------------------------------------
                0.00    0.00       1/1           main [2]
[510]    0.0    0.00    0.00       1
_i_Filehandler__OpenFilesForWriting [510]
-----------------------------------------------
                0.00    0.00       1/1           main [2]
[511]    0.0    0.00    0.00       1
_i_Observer__InitialiseObserver_ [511]
                0.00    0.00       1/845955      _i_Simulation__getNs
[502]
-----------------------------------------------
                0.00    0.00       1/1           main [2]
[512]    0.0    0.00    0.00       1
_i_Simulation__initfromCommandLineForCreation_with_ [512]
-----------------------------------------------

 This table describes the call tree of the program, and was sorted by
the total amount of time spent in each function and its children.

 Each entry in this table consists of several lines.  The line with the
index number at the left hand margin lists the current function.
 The lines above it list the functions that called this function,  and
the lines below it list the functions this one called.
 This line lists:
     index	A unique number given to each element of the table.
		Index numbers are sorted numerically.
		The index number is printed next to every function name
so
		it is easier to look up where the function in the table.

     % time	This is the percentage of the `total' time that was
spent
		in this function and its children.  Note that due to
		different viewpoints, functions excluded by options,
etc,
		these numbers will NOT add up to 100%.

     self	This is the total amount of time spent in this function.

     children	This is the total amount of time propagated into this
		function by its children.

     called	This is the number of times the function was called.
		If the function called itself recursively, the number
		only includes non-recursive calls, and is followed by
		a `+' and the number of recursive calls.

     name	The name of the current function.  The index number is
		printed after it.  If the function is a member of a
		cycle, the cycle number is printed between the
		function's name and the index number.


 For the function's parents, the fields have the following meanings:

     self	This is the amount of time that was propagated directly
		from the function into this parent.

     children	This is the amount of time that was propagated from
		the function's children into this parent.

     called	This is the number of times this parent called the
		function `/' the total number of times the function
		was called.  Recursive calls to the function are not
		included in the number after the `/'.

     name	This is the name of the parent.  The parent's index
		number is printed after it.  If the parent is a
		member of a cycle, the cycle number is printed between
		the name and the index number.

 If the parents of the function cannot be determined, the word
`<spontaneous>' is printed in the `name' field, and all the other
fields are blank.

 For the function's children, the fields have the following meanings:

     self	This is the amount of time that was propagated directly
		from the child into the function.

     children	This is the amount of time that was propagated from the
		child's children to the function.

     called	This is the number of times the function called
		this child `/' the total number of times the child
		was called.  Recursive calls by the child are not
		listed in the number after the `/'.

     name	This is the name of the child.  The child's index
		number is printed after it.  If the child is a
		member of a cycle, the cycle number is printed
		between the name and the index number.

 If there are any cycles (circles) in the call graph, there is an  entry
for the cycle-as-a-whole.  This entry shows who called the  cycle (as
parents) and the members of the cycle (as children.)  The `+' recursive
calls entry shows the number of function calls that  were internal to
the cycle, and the calls entry for each member shows,  for that member,
how many times it was called from other members of  the cycle.


Index by function name

 [509] global constructors keyed to main [19] _i_Matrix__MatrixAddedTo_
(gmon-start.c) [35] compare_strings (gmon-start.c)
  [30] __drand48_iterate       [5] _i_Matrix__MatrixMultipliedBy_
(gmon-start.c) [40] cos
  [29] __ieee754_log          [23] _i_Matrix__Unitarise (gmon-start.c)
[50] drand48
  [16] __ieee754_pow          [21] _i_Matrix(float, long
double,...)(...)
(gmon-start.c) [25] erand48_r
 (694) __mcount_internal      [56] _i_Matrix__getDimension
(gmon-start.c)
[54] finite
  [63] __mpn_mul_1            [13] _i_Matrix__getMatrixEntry__
(gmon-start.c) [22] hash_string (gmon-start.c)
  [45] __objc_mutex_lock      [14] _i_Matrix__setMatrixEntry__toValue_
(gmon-start.c) [26] hash_value_for_key
  [53] __objc_mutex_unlock    [57] _i_Matrix__setToZero (gmon-start.c)
[43] isnan
  [47] __objc_object_alloc    [46] _i_Object(float, long
double,...)(...)
(gmon-start.c) [37] log
  [39] __objc_object_dispose  [49] _i_Object__init (gmon-start.c) [2]
main
  [44] __objc_thread_id       [55] _i_Observer__FindAveragePlaquetteOf_
(gmon-start.c) [15] malloc
  [41] _c_Object__alloc (gmon-start.c) [31]
_i_Observer__FindPolyakovloopSumsOf_ (gmon-start.c) (261) mcount
  [65] _i_Filehandler__InitialiseFileNames_ (gmon-start.c) [507]
_i_Observer__GiveAveragePlaquette (gmon-start.c) [1] memcpy  [510]
_i_Filehandler__OpenFilesForWriting (gmon-start.c) [503]
_i_Observer__GivePolyakovloopNumber_ (gmon-start.c) [18] memset  [505]
_i_Filehandler__WritePlaquettesByAsking_ (gmon-start.c) [511]
_i_Observer__InitialiseObserver_ (gmon-start.c) [51] objc_free  [506]
_i_Filehandler__WritePolyakovloopsByAsking_theyarethislong_
(gmon-start.c) [508] _i_Observer__speak (gmon-start.c) [33]
objc_get_class
   [4] _i_Lattice__HeatBathUpdateUsing_ (gmon-start.c) [59]
_i_Simulation__getBeta (gmon-start.c) [48] objc_malloc
  [64] _i_Lattice__InitialiseAccordingTo_ (gmon-start.c) [501]
_i_Simulation__getNc (gmon-start.c) [7] objc_msg_lookup
  [60] _i_Lattice__getLinkAt___inDirection_ (gmon-start.c) [502]
_i_Simulation__getNs (gmon-start.c) [27] objc_msg_lookup_super
   [6] _i_Matrix__CMwith_accordingto_ (gmon-start.c) [61]
_i_Simulation__getNt (gmon-start.c) [36] objc_mutex_lock
  [20] _i_Matrix__DividedByScalar_ (gmon-start.c) [504]
_i_Simulation__getconfs (gmon-start.c) [32] objc_mutex_unlock
  [52] _i_Matrix__FindDeterminant (gmon-start.c) [512]
_i_Simulation__initfromCommandLineForCreation_with_ (gmon-start.c) [42]
objc_thread_id
  [62] _i_Matrix__FindTrace (gmon-start.c) [17] cfree     [38]
object_dispose
  [12] _i_Matrix__HermitianConjugate (gmon-start.c) [9] chunk_alloc [28]
pow
  [11] _i_Matrix__InitialiseToSize_ (gmon-start.c) [10] chunk_free [24]
strcmp
   [8] _i_Matrix__KennedyPendletonUsing_ (gmon-start.c) [34]
class_create_instance [58] write



More information about the Gcc-help mailing list