Project

General

Profile

SimplifiedCalo performance analysis

The following data is for the classes from Table 1 in the report:
G4PhysicsVector, G4PhysicsLogVector, G4VProcess, G4VEmProcess, G4VMultipleScattering, G4VEnergyLossProcess, G4VEmModel, G4VMscModel, G4UrbanMscModel, G4Poisson, G4UniversalFluctuation

The data is available to HEP collaborators; to connect to the database, go to the TAUdb instructions and follow the directions in step 2. First, email the hostname or IP address of the machine from which you plan to access the database to Boyana Norris (norris AT cs DOT uoregon DOT edu). When you run taudb_configure, use the following values when prompted, and just press enter for the rest to accept the defaults:
  • Configuration name: this is local to your machine, specify anything you will remember (e.g., geant4)
  • Database name: geant4
  • Database vendor: postgresql
  • Database host: fripp.nic.uoregon.edu
  • Database username: geant4_collaborator
  • Database password: Geant4 collaborator TAUdb (including the spaces; also answer 'y' when asked to store as clear text)

When the above configuration is complete, you can browse and manipulate the data with ParaProf .

Differences between 10.0 and 10.0xyd (subtracting xyd values from 10.0 values).

Virtual functions

These are the types of the objects for which the PostStepDoIt virtual function (implemented in G4VEmProcess or its subclasses) was called and the number of calls for each class in the void G4SteppingManager::InvokePSDIP(size_t np) function. (These counts are for 500 events). The class name is the object on which the function was called, the "Percent of total" is the percent of all calls to that function.

Classes in the G4VProcess hierarchy only. The first set of tables does not separate calls by the class implementing the function.

Function Class name Count Total Percent of total
AlongStepDoIt G4eMultipleScattering 4.692927e+07 1.769760e+08 26.5173%
AlongStepDoIt G4eIonisation 4.692927e+07 1.769760e+08 26.5173%
Function Class name Count Total Percent of total
PostStepDoIt G4ComptonScattering 2.066820e+07 1.386414e+08 14.9077%
PostStepDoIt G4eMultipleScattering 1.607870e+07 1.386414e+08 11.5973%
PostStepDoIt G4PhotoElectricEffect 8.916256e+06 1.386414e+08 6.4312%
PostStepDoIt G4GammaConversion 8.522560e+05 1.386414e+08 0.6147%
PostStepDoIt G4eIonisation 4.507010e+05 1.386414e+08 0.3251%
PostStepDoIt G4eplusAnnihilation 7.992800e+04 1.386414e+08 0.0577%
PostStepDoIt G4CoulombScattering 1.000000e+03 1.386414e+08 0.0007%
Function Class name Count Total Percent of total
AlongStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 1.769760e+08 26.5173%
AlongStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 1.769760e+08 26.5173%
Function Class name Count Total Percent of total
PostStepGetPhysicalInteractionLength G4CoulombScattering 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4GammaConversion 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4PhotoElectricEffect 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4ComptonScattering 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4eplusAnnihilation 5.753727e+06 3.851529e+08 1.4939%

Classes in G4VProcess hierarchy only. Percent of total are for calls of each specific implementation.

Function Class name Count Total Percent of total
G4VEmProcess::PostStepDoIt G4ComptonScattering 2.066820e+07 3.051764e+07 67.7254%
G4VEmProcess::PostStepDoIt G4PhotoElectricEffect 8.916256e+06 3.051764e+07 29.2167%
G4VEmProcess::PostStepDoIt G4GammaConversion 8.522560e+05 3.051764e+07 2.7927%
G4VEmProcess::PostStepDoIt G4eplusAnnihilation 7.992800e+04 3.051764e+07 0.2619%
G4VEmProcess::PostStepDoIt G4CoulombScattering 1.000000e+03 3.051764e+07 0.0033%
G4VEmProcess::PostStepGetPhysicalInteractionLength G4CoulombScattering 4.692927e+07 1.612476e+08 29.1039%
G4VEmProcess::PostStepGetPhysicalInteractionLength G4GammaConversion 3.618821e+07 1.612476e+08 22.4426%
G4VEmProcess::PostStepGetPhysicalInteractionLength G4PhotoElectricEffect 3.618821e+07 1.612476e+08 22.4426%
G4VEmProcess::PostStepGetPhysicalInteractionLength G4ComptonScattering 3.618821e+07 1.612476e+08 22.4426%
G4VEmProcess::PostStepGetPhysicalInteractionLength G4eplusAnnihilation 5.753727e+06 1.612476e+08 3.5683%
G4VMultipleScattering::PostStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 4.692927e+07 100.0000%
G4VMultipleScattering::AlongStepDoIt G4eMultipleScattering 4.692927e+07 4.692927e+07 100.0000%
G4VMultipleScattering::AlongStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 1.300467e+08 36.0865%
G4VEnergyLossProcess::PostStepDoIt G4eBremsstrahlung 8.476857e+06 8.927558e+06 94.9516%
G4VEnergyLossProcess::PostStepDoIt G4eIonisation 4.507010e+05 8.927558e+06 5.0484%
G4VEnergyLossProcess::AlongStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 4.692927e+07 100.0000%
G4VEnergyLossProcess::AlongStepDoIt G4eIonisation 4.692927e+07 4.692927e+07 100.0000%
G4VMultipleScattering::PostStepDoIt G4eMultipleScattering 1.607870e+07 1.607870e+07 100.0000%
G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength G4eBremsstrahlung 4.692927e+07 9.385853e+07 50.0000%
G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 9.385853e+07 50.0000%

All classes (including those not in the G4VProcess hierarchy):

Function Class name Count Total Percent of total
AlongStepDoIt G4Transportation 8.311747e+07 1.769760e+08 46.9654%
AlongStepDoIt G4eMultipleScattering 4.692927e+07 1.769760e+08 26.5173%
AlongStepDoIt G4eIonisation 4.692927e+07 1.769760e+08 26.5173%
PostStepDoIt G4Transportation 8.311747e+07 1.386414e+08 59.9514%
PostStepDoIt G4ComptonScattering 2.066820e+07 1.386414e+08 14.9077%
PostStepDoIt G4eMultipleScattering 1.607870e+07 1.386414e+08 11.5973%
PostStepDoIt G4PhotoElectricEffect 8.916256e+06 1.386414e+08 6.4312%
PostStepDoIt G4eBremsstrahlung 8.476857e+06 1.386414e+08 6.1142%
PostStepDoIt G4GammaConversion 8.522560e+05 1.386414e+08 0.6147%
PostStepDoIt G4eIonisation 4.507010e+05 1.386414e+08 0.3251%
PostStepDoIt G4eplusAnnihilation 7.992800e+04 1.386414e+08 0.0577%
PostStepDoIt G4CoulombScattering 1.000000e+03 1.386414e+08 0.0007%
AlongStepGetPhysicalInteractionLength G4Transportation 8.311747e+07 1.769760e+08 46.9654%
AlongStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 1.769760e+08 26.5173%
AlongStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 1.769760e+08 26.5173%
PostStepGetPhysicalInteractionLength G4Transportation 8.311747e+07 3.851529e+08 21.5804%
PostStepGetPhysicalInteractionLength G4CoulombScattering 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4eBremsstrahlung 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4eMultipleScattering 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4eIonisation 4.692927e+07 3.851529e+08 12.1846%
PostStepGetPhysicalInteractionLength G4GammaConversion 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4PhotoElectricEffect 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4ComptonScattering 3.618821e+07 3.851529e+08 9.3958%
PostStepGetPhysicalInteractionLength G4eplusAnnihilation 5.753727e+06 3.851529e+08 1.4939%

Wall-clock time

In this section we show sampling profiles for classes in Table 1 of the report and G4VProcess class hierarchy.

The class line shows the total time (msec) for the class and the percent of total application time for the class (because these are inclusive timings, the % of total includes more than just the member functions in this class).

The line for each function shows inclusive timings (for each function, the time for the function and all other functions it calls is included). The values shown include:
  • total: Total time for that Function (microseconds)
  • %class: total inclusive time for this function / total time for class
  • %app: total inclusive time for this function / total application execution time
 
Class 'G4VProcess' : total = 6.12e+07, % application = 26.8751%
    Function 'AlongStepGPIL(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 3.41e+07, %class(I) = 55.6787%, %app(I) = 14.9637%
    Function 'PostStepGPIL(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 2.55e+07, %class(I) = 41.6785%, %app(I) = 11.2011%
    Function 'EndTracking()' :
        total(I) = 8.69e+05, %class(I) = 1.4190%, %app(I) = 0.3814%
    Function 'StartTracking(G4Track*)' :
        total(I) = 7.33e+05, %class(I) = 1.1976%, %app(I) = 0.3218%
    Function 'AtRestGPIL(G4Track const&, G4ForceCondition*)' :
        total(I) = 1.60e+04, %class(I) = 0.0262%, %app(I) = 0.0070%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total = 3.90e+07, % application = 17.1165%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.34e+07, %class(I) = 34.3112%, %app(I) = 5.8729%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 7.47e+06, %class(I) = 19.1521%, %app(I) = 3.2782%
    Function 'GetLambdaForScaledEnergy(double)' :
        total(I) = 5.64e+06, %class(I) = 14.4547%, %app(I) = 2.4741%
    Function 'GetScaledRangeForScaledEnergy(double)' :
        total(I) = 4.96e+06, %class(I) = 12.7054%, %app(I) = 2.1747%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 2.40e+06, %class(I) = 6.1657%, %app(I) = 1.0554%
    Function 'GetDEDXForScaledEnergy(double)' :
        total(I) = 1.65e+06, %class(I) = 4.2343%, %app(I) = 0.7248%
    Function 'ScaledKinEnergyForLoss(double)' :
        total(I) = 1.06e+06, %class(I) = 2.7113%, %app(I) = 0.4641%
    Function 'StartTracking(G4Track*)' :
        total(I) = 7.58e+05, %class(I) = 1.9445%, %app(I) = 0.3328%
    Function 'GetKineticEnergy(double&, G4MaterialCutsCouple const*)' :
        total(I) = 5.93e+05, %class(I) = 1.5209%, %app(I) = 0.2603%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 5.06e+05, %class(I) = 1.2977%, %app(I) = 0.2221%
    Function 'ComputeLambdaForScaledEnergy(double)' :
        total(I) = 1.51e+05, %class(I) = 0.3872%, %app(I) = 0.0663%
    Function 'GetRangeForLoss(double&, G4MaterialCutsCouple const*)' :
        total(I) = 1.41e+05, %class(I) = 0.3613%, %app(I) = 0.0618%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' :
        total(I) = 1.17e+05, %class(I) = 0.2992%, %app(I) = 0.0512%
    Function 'SelectModel(double)' :
        total(I) = 1.12e+05, %class(I) = 0.2867%, %app(I) = 0.0491%
    Function 'PreparePhysicsTable(G4ParticleDefinition const&)' :
        total(I) = 3.76e+04, %class(I) = 0.0964%, %app(I) = 0.0165%
    Function 'BuildPhysicsTable(G4ParticleDefinition const&)' :
        total(I) = 1.49e+04, %class(I) = 0.0383%, %app(I) = 0.0066%
    Function 'GetDEDX(double&, G4MaterialCutsCouple const*)' :
        total(I) = 1.30e+04, %class(I) = 0.0332%, %app(I) = 0.0057%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total = 3.62e+07, % application = 15.9005%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.77e+07, %class(I) = 48.7886%, %app(I) = 7.7576%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 1.52e+07, %class(I) = 41.8174%, %app(I) = 6.6492%
    Function 'StartTracking(G4Track*)' :
        total(I) = 2.00e+06, %class(I) = 5.5137%, %app(I) = 0.8767%
    Function 'GetModelByIndex(int, bool)' :
        total(I) = 5.58e+05, %class(I) = 1.5393%, %app(I) = 0.2447%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 4.70e+05, %class(I) = 1.2986%, %app(I) = 0.2065%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 3.78e+05, %class(I) = 1.0425%, %app(I) = 0.1658%

Class 'G4VEmProcess' : total = 3.15e+07, % application = 13.8463%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.89e+07, %class(I) = 59.7572%, %app(I) = 8.2742%
    Function 'GetLambdaFromTable(double)' :
        total(I) = 3.86e+06, %class(I) = 12.2191%, %app(I) = 1.6919%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 3.06e+06, %class(I) = 9.6943%, %app(I) = 1.3423%
    Function 'GetLambdaFromTablePrim(double)' :
        total(I) = 2.54e+06, %class(I) = 8.0481%, %app(I) = 1.1144%
    Function 'ComputeCurrentLambda(double)' :
        total(I) = 1.62e+06, %class(I) = 5.1488%, %app(I) = 0.7129%
    Function 'StartTracking(G4Track*)' :
        total(I) = 6.18e+05, %class(I) = 1.9583%, %app(I) = 0.2712%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' :
        total(I) = 4.92e+05, %class(I) = 1.5588%, %app(I) = 0.2158%
    Function 'SelectModel(double&, unsigned long)' :
        total(I) = 4.16e+05, %class(I) = 1.3174%, %app(I) = 0.1824%
    Function 'GetCurrentLambda(double)' :
        total(I) = 9.40e+04, %class(I) = 0.2979%, %app(I) = 0.0413%

Class 'G4PhysicsVector' : total = 1.70e+07, % application = 7.4653%
    Function 'SplineInterpolation(unsigned long, double)' :
        total(I) = 8.24e+06, %class(I) = 48.4216%, %app(I) = 3.6148%
    Function 'FindBinLocation(double)' :
        total(I) = 3.87e+06, %class(I) = 22.7256%, %app(I) = 1.6965%
    Function 'Value(double, unsigned long&)' :
        total(I) = 2.67e+06, %class(I) = 15.7037%, %app(I) = 1.1723%
    Function 'FindBin(double, unsigned long)' :
        total(I) = 2.03e+06, %class(I) = 11.9318%, %app(I) = 0.8907%
    Function 'Interpolation(unsigned long, double)' :
        total(I) = 1.20e+05, %class(I) = 0.7058%, %app(I) = 0.0527%
    Function 'Energy(unsigned long)' :
        total(I) = 8.10e+04, %class(I) = 0.4762%, %app(I) = 0.0356%
    Function 'Value(double)' :
        total(I) = 3.98e+03, %class(I) = 0.0234%, %app(I) = 0.0017%
    Function 'G4PhysicsVector(G4PhysicsVector const&)' :
        total(I) = 2.01e+03, %class(I) = 0.0118%, %app(I) = 0.0009%

Class 'G4UrbanMscModel' : total = 1.66e+07, % application = 7.2836%
    Function 'SampleScattering(CLHEP::Hep3Vector const&, double)' :
        total(I) = 9.71e+06, %class(I) = 58.4963%, %app(I) = 4.2607%
    Function 'ComputeGeomPathLength(double)' :
        total(I) = 2.24e+06, %class(I) = 13.4859%, %app(I) = 0.9823%
    Function 'SampleCosineTheta(double, double)' :
        total(I) = 1.73e+06, %class(I) = 10.4156%, %app(I) = 0.7586%
    Function 'ComputeTruePathLengthLimit(G4Track const&, double&)' :
        total(I) = 8.27e+05, %class(I) = 4.9814%, %app(I) = 0.3628%
    Function 'StartTracking(G4Track*)' :
        total(I) = 6.67e+05, %class(I) = 4.0170%, %app(I) = 0.2926%
    Function 'LatCorrelation()' :
        total(I) = 3.01e+05, %class(I) = 1.8135%, %app(I) = 0.1321%
    Function 'ComputeTrueStepLength(double)' :
        total(I) = 2.78e+05, %class(I) = 1.6734%, %app(I) = 0.1219%
    Function 'SimpleScattering(double, double)' :
        total(I) = 2.77e+05, %class(I) = 1.6702%, %app(I) = 0.1216%
    Function 'SampleDisplacement()' :
        total(I) = 2.72e+05, %class(I) = 1.6377%, %app(I) = 0.1193%
    Function 'ComputeTheta0(double, double)' :
        total(I) = 2.15e+05, %class(I) = 1.2955%, %app(I) = 0.0944%
    Function 'SetParticle(G4ParticleDefinition const*)' :
        total(I) = 8.22e+04, %class(I) = 0.4952%, %app(I) = 0.0361%
    Function 'UpdateCache()' :
        total(I) = 3.02e+03, %class(I) = 0.0182%, %app(I) = 0.0013%

Class 'G4VMscModel' : total = 1.03e+07, % application = 4.5312%
    Function 'ConvertTrueToGeom(double&, double&)' :
        total(I) = 4.94e+06, %class(I) = 47.8566%, %app(I) = 2.1685%
    Function 'ComputeSafety(CLHEP::Hep3Vector const&, double)' :
        total(I) = 4.11e+06, %class(I) = 39.8416%, %app(I) = 1.8053%
    Function 'GetTransportMeanFreePath(G4ParticleDefinition const*, double)' :
        total(I) = 9.23e+05, %class(I) = 8.9428%, %app(I) = 0.4052%
    Function 'GetRange(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :
        total(I) = 3.22e+05, %class(I) = 3.1167%, %app(I) = 0.1412%
    Function 'GetEnergy(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :
        total(I) = 2.50e+04, %class(I) = 0.2423%, %app(I) = 0.0110%

Class 'G4VParticleChange=>G4ParticleChangeForTransport' : total = 6.28e+06, % application = 2.7544%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 5.77e+06, %class(I) = 91.9333%, %app(I) = 2.5322%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 3.01e+05, %class(I) = 4.7896%, %app(I) = 0.1319%
    Function 'SetMomentumChanged(bool)' :
        total(I) = 7.69e+04, %class(I) = 1.2252%, %app(I) = 0.0337%
    Function 'Initialize(G4Track const&)' :
        total(I) = 7.48e+04, %class(I) = 1.1926%, %app(I) = 0.0328%
    Function 'SetMaterialInTouchable(G4Material*)' :
        total(I) = 2.70e+04, %class(I) = 0.4298%, %app(I) = 0.0118%
    Function 'SetPointerToVectorOfAuxiliaryPoints(std::vector<CLHEP::Hep3Vector, std::allocator<CLHEP::Hep3Vector> >*)' :
        total(I) = 2.70e+04, %class(I) = 0.4296%, %app(I) = 0.0118%

Class 'G4UniversalFluctuation' : total = 6.28e+06, % application = 2.7541%
    Function 'SampleFluctuations(G4MaterialCutsCouple const*, G4DynamicParticle const*, double, double, double)' :
        total(I) = 6.28e+06, %class(I) = 100.0000%, %app(I) = 2.7541%

Class 'G4VParticleChange=>G4ParticleChangeForLoss' : total = 4.53e+06, % application = 1.9890%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 3.35e+06, %class(I) = 73.9656%, %app(I) = 1.4712%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 1.05e+06, %class(I) = 23.2398%, %app(I) = 0.4622%
    Function 'InitializeForAlongStep(G4Track const&)' :
        total(I) = 1.08e+05, %class(I) = 2.3758%, %app(I) = 0.0473%
    Function 'InitializeForPostStep(G4Track const&)' :
        total(I) = 1.80e+04, %class(I) = 0.3967%, %app(I) = 0.0079%
    Function 'SetProposedKineticEnergy(double)' :
        total(I) = 1.00e+03, %class(I) = 0.0221%, %app(I) = 0.0004%

Class 'G4VParticleChange=>G4ParticleChange' : total = 3.65e+06, % application = 1.6020%
    Function 'CheckIt(G4Track const&)' :
        total(I) = 3.49e+06, %class(I) = 95.4842%, %app(I) = 1.5297%
    Function 'ProposeProperTime(double)' :
        total(I) = 9.59e+04, %class(I) = 2.6271%, %app(I) = 0.0421%
    Function 'ProposeLocalTime(double)' :
        total(I) = 3.60e+04, %class(I) = 0.9856%, %app(I) = 0.0158%
    Function 'ProposeEnergy(double)' :
        total(I) = 3.30e+04, %class(I) = 0.9030%, %app(I) = 0.0145%

Class 'G4VParticleChange' : total = 2.10e+06, % application = 0.9222%
    Function 'CheckIt(G4Track const&)' :
        total(I) = 1.18e+06, %class(I) = 55.9881%, %app(I) = 0.5163%
    Function 'AddSecondary(G4Track*)' :
        total(I) = 4.04e+05, %class(I) = 19.2443%, %app(I) = 0.1775%
    Function 'Clear()' :
        total(I) = 1.87e+05, %class(I) = 8.8871%, %app(I) = 0.0820%
    Function 'ProposeLastStepInVolume(bool)' :
        total(I) = 9.20e+04, %class(I) = 4.3767%, %app(I) = 0.0404%
    Function 'ProposeTrueStepLength(double)' :
        total(I) = 7.99e+04, %class(I) = 3.8008%, %app(I) = 0.0351%
    Function 'InitializeSecondaries(G4Track const&)' :
        total(I) = 4.59e+04, %class(I) = 2.1858%, %app(I) = 0.0202%
    Function 'SetNumberOfSecondaries(int)' :
        total(I) = 3.50e+04, %class(I) = 1.6653%, %app(I) = 0.0154%
    Function 'ProposeTrackStatus(G4TrackStatus)' :
        total(I) = 3.40e+04, %class(I) = 1.6182%, %app(I) = 0.0149%
    Function 'ProposeLocalEnergyDeposit(double)' :
        total(I) = 2.59e+04, %class(I) = 1.2343%, %app(I) = 0.0114%
    Function 'InitializeSteppingControl(G4Track const&)' :
        total(I) = 2.10e+04, %class(I) = 0.9992%, %app(I) = 0.0092%

Class 'G4Physics2DVector' : total = 1.75e+06, % application = 0.7691%
    Function 'Value(double, double, unsigned long&, unsigned long&)' :
        total(I) = 7.96e+05, %class(I) = 45.4003%, %app(I) = 0.3492%
    Function 'FindBin(double, std::vector<double, std::allocator<double> > const&, unsigned long, unsigned long)' :
        total(I) = 5.54e+05, %class(I) = 31.5870%, %app(I) = 0.2429%
    Function 'FindBinLocation(double, std::vector<double, std::allocator<double> > const&)' :
        total(I) = 3.72e+05, %class(I) = 21.2041%, %app(I) = 0.1631%
    Function 'FindBinLocationY(double, unsigned long)' :
        total(I) = 1.31e+04, %class(I) = 0.7456%, %app(I) = 0.0057%
    Function 'Retrieve(std::basic_ifstream<char, std::char_traits<char> >&)' :
        total(I) = 1.26e+04, %class(I) = 0.7196%, %app(I) = 0.0055%
    Function 'FindBinLocationX(double, unsigned long)' :
        total(I) = 6.02e+03, %class(I) = 0.3434%, %app(I) = 0.0026%

Class 'G4VEmModel' : total = 1.51e+06, % application = 0.6605%
    Function 'IsActive(double)' :
        total(I) = 1.14e+06, %class(I) = 75.6214%, %app(I) = 0.4995%
    Function 'SelectRandomAtom(G4Material const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 2.00e+05, %class(I) = 13.2868%, %app(I) = 0.0878%
    Function 'SetCurrentCouple(G4MaterialCutsCouple const*)' :
        total(I) = 9.69e+04, %class(I) = 6.4379%, %app(I) = 0.0425%
    Function 'MaxSecondaryKinEnergy(G4DynamicParticle const*)' :
        total(I) = 4.01e+04, %class(I) = 2.6623%, %app(I) = 0.0176%
    Function 'SelectRandomAtom(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 1.70e+04, %class(I) = 1.1303%, %app(I) = 0.0075%
    Function 'CrossSection(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 7.98e+03, %class(I) = 0.5303%, %app(I) = 0.0035%
    Function 'InitialiseElementSelectors(G4ParticleDefinition const*, G4DataVector const&)' :
        total(I) = 2.01e+03, %class(I) = 0.1337%, %app(I) = 0.0009%
    Function 'ComputeDEDX(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double)' :
        total(I) = 1.96e+03, %class(I) = 0.1305%, %app(I) = 0.0009%
    Function 'ComputeCrossSectionPerAtom(G4ParticleDefinition const*, G4Element const*, double, double, double)' :
        total(I) = 1.00e+03, %class(I) = 0.0667%, %app(I) = 0.0004%

Class 'G4VParticleChange=>G4ParticleChangeForGamma' : total = 4.39e+05, % application = 0.1925%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 3.81e+05, %class(I) = 86.7873%, %app(I) = 0.1670%
    Function 'InitializeForPostStep(G4Track const&)' :
        total(I) = 4.29e+04, %class(I) = 9.7872%, %app(I) = 0.0188%
    Function 'UpdateStepForAtRest(G4Step*)' :
        total(I) = 1.30e+04, %class(I) = 2.9732%, %app(I) = 0.0057%
    Function 'SetProposedKineticEnergy(double)' :
        total(I) = 1.98e+03, %class(I) = 0.4524%, %app(I) = 0.0009%

Class 'G4VEmProcess=>G4eplusAnnihilation' : total = 2.42e+05, % application = 0.1062%
    Function 'AtRestDoIt(G4Track const&, G4Step const&)' :
        total(I) = 2.27e+05, %class(I) = 93.7904%, %app(I) = 0.0996%
    Function 'AtRestGetPhysicalInteractionLength(G4Track const&, G4ForceCondition*)' :
        total(I) = 1.50e+04, %class(I) = 6.2096%, %app(I) = 0.0066%

Class 'G4VParticleChange=>G4ParticleChangeForMSC' : total = 1.71e+05, % application = 0.0751%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 1.45e+05, %class(I) = 84.8288%, %app(I) = 0.0637%
    Function 'ProposeMomentumDirection(CLHEP::Hep3Vector const&)' :
        total(I) = 1.10e+04, %class(I) = 6.4172%, %app(I) = 0.0048%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 9.99e+03, %class(I) = 5.8372%, %app(I) = 0.0044%
    Function 'Initialize(G4Track const&)' :
        total(I) = 4.99e+03, %class(I) = 2.9168%, %app(I) = 0.0022%

Class 'G4VContinuousDiscreteProcess=>G4eIonisation' : total = 0.00e+00, % application = 0.0000%

Class 'G4VContinuousDiscreteProcess=>G4VContinuousDiscreteProcess' : total = 0.00e+00, % application = 0.0000%

All other classes : 1.58e+09, application total : 2.28e+08
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: P_WALL_CLOCK_TIME

L1 cache misses

L1 cache miss counts (data cache only).

Sampling measurements

Class 'G4VProcess' : total = 3.04e+09, % application = 26.8957%
    Function 'AlongStepGPIL(G4Track const&, double, double, double&, G4GPILSelection*)' : 
        total(I) = 1.75e+09, %class(I) = 57.4259%, %app(I) = 15.4451%
    Function 'PostStepGPIL(G4Track const&, double, G4ForceCondition*)' : 
        total(I) = 1.23e+09, %class(I) = 40.5934%, %app(I) = 10.9179%
    Function 'EndTracking()' : 
        total(I) = 3.65e+07, %class(I) = 1.2012%, %app(I) = 0.3231%
    Function 'StartTracking(G4Track*)' : 
        total(I) = 2.31e+07, %class(I) = 0.7581%, %app(I) = 0.2039%
    Function 'AtRestGPIL(G4Track const&, G4ForceCondition*)' : 
        total(I) = 6.50e+05, %class(I) = 0.0214%, %app(I) = 0.0058%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total = 1.93e+09, % application = 17.0830%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' : 
        total(I) = 6.45e+08, %class(I) = 33.3895%, %app(I) = 5.7039%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' : 
        total(I) = 3.83e+08, %class(I) = 19.8456%, %app(I) = 3.3902%
    Function 'GetLambdaForScaledEnergy(double)' :     
        total(I) = 2.85e+08, %class(I) = 14.7682%, %app(I) = 2.5228%
    Function 'GetScaledRangeForScaledEnergy(double)' : 
        total(I) = 2.60e+08, %class(I) = 13.4502%, %app(I) = 2.2977%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' : 
        total(I) = 1.12e+08, %class(I) = 5.7719%, %app(I) = 0.9860%
    Function 'GetDEDXForScaledEnergy(double)' : 
        total(I) = 8.01e+07, %class(I) = 4.1472%, %app(I) = 0.7085%
    Function 'ScaledKinEnergyForLoss(double)' : 
        total(I) = 5.94e+07, %class(I) = 3.0746%, %app(I) = 0.5252%
    Function 'StartTracking(G4Track*)' : 
        total(I) = 3.37e+07, %class(I) = 1.7424%, %app(I) = 0.2977%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' : 
        total(I) = 2.72e+07, %class(I) = 1.4057%, %app(I) = 0.2401%
    Function 'GetKineticEnergy(double&, G4MaterialCutsCouple const*)' : 
        total(I) = 2.37e+07, %class(I) = 1.2279%, %app(I) = 0.2098%
    Function 'GetRangeForLoss(double&, G4MaterialCutsCouple const*)' : 
        total(I) = 8.00e+06, %class(I) = 0.4137%, %app(I) = 0.0707%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' : 
        total(I) = 5.18e+06, %class(I) = 0.2682%, %app(I) = 0.0458%
    Function 'ComputeLambdaForScaledEnergy(double)' : 
        total(I) = 4.47e+06, %class(I) = 0.2316%, %app(I) = 0.0396%
    Function 'SelectModel(double)' : 
        total(I) = 4.23e+06, %class(I) = 0.2187%, %app(I) = 0.0374%
    Function 'GetDEDX(double&, G4MaterialCutsCouple const*)' : 
        total(I) = 6.91e+05, %class(I) = 0.0358%, %app(I) = 0.0061%
    Function 'PreparePhysicsTable(G4ParticleDefinition const&)' : 
        total(I) = 1.21e+05, %class(I) = 0.0063%, %app(I) = 0.0011%
    Function 'BuildPhysicsTable(G4ParticleDefinition const&)' : 
        total(I) = 4.87e+04, %class(I) = 0.0025%, %app(I) = 0.0004%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : 
        total = 1.78e+09, % application = 15.7320%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' : 
        total(I) = 8.37e+08, %class(I) = 47.0500%, %app(I) = 7.4019%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' : 
        total(I) = 7.72e+08, %class(I) = 43.4083%, %app(I) = 6.8290%
    Function 'StartTracking(G4Track*)' : 
        total(I) = 9.94e+07, %class(I) = 5.5856%, %app(I) = 0.8787%
    Function 'GetModelByIndex(int, bool)' : 
        total(I) = 2.82e+07, %class(I) = 1.5825%, %app(I) = 0.2490%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
         total(I) = 2.15e+07, %class(I) = 1.2076%, %app(I) = 0.1900%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' : 
        total(I) = 2.07e+07, %class(I) = 1.1659%, %app(I) = 0.1834%

Class 'G4VEmProcess' : total = 1.54e+09, % application = 13.6300%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' : 
        total(I) = 9.44e+08, %class(I) = 61.2281%, %app(I) = 8.3454%
    Function 'GetLambdaFromTable(double)' : 
        total(I) = 1.69e+08, %class(I) = 10.9512%, %app(I) = 1.4926%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :  
        total(I) = 1.50e+08, %class(I) = 9.7368%, %app(I) = 1.3271%
    Function 'GetLambdaFromTablePrim(double)' :  
        total(I) = 1.21e+08, %class(I) = 7.8271%, %app(I) = 1.0668%
    Function 'ComputeCurrentLambda(double)' :  
        total(I) = 8.13e+07, %class(I) = 5.2705%, %app(I) = 0.7184%
    Function 'StartTracking(G4Track*)' :  
        total(I) = 2.82e+07, %class(I) = 1.8282%, %app(I) = 0.2492%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' :  
        total(I) = 2.32e+07, %class(I) = 1.5015%, %app(I) = 0.2047%
    Function 'SelectModel(double&, unsigned long)' :  
        total(I) = 2.07e+07, %class(I) = 1.3411%, %app(I) = 0.1828%
    Function 'GetCurrentLambda(double)' :  
        total(I) = 4.86e+06, %class(I) = 0.3155%, %app(I) = 0.0430%

Class 'G4PhysicsVector' : total = 8.44e+08, % application = 7.4614%
    Function 'SplineInterpolation(unsigned long, double)' :  
        total(I) = 4.21e+08, %class(I) = 49.8535%, %app(I) = 3.7198%
    Function 'FindBinLocation(double)' :  
        total(I) = 1.90e+08, %class(I) = 22.5222%, %app(I) = 1.6805%
    Function 'Value(double, unsigned long&)' :  
        total(I) = 1.26e+08, %class(I) = 14.9755%, %app(I) = 1.1174%
    Function 'FindBin(double, unsigned long)' :  
        total(I) = 9.58e+07, %class(I) = 11.3467%, %app(I) = 0.8466%
    Function 'Energy(unsigned long)' :  
        total(I) = 6.25e+06, %class(I) = 0.7411%, %app(I) = 0.0553%
    Function 'Interpolation(unsigned long, double)' :  
        total(I) = 4.47e+06, %class(I) = 0.5299%, %app(I) = 0.0395%
    Function 'Value(double)' :  
        total(I) = 2.60e+05, %class(I) = 0.0308%, %app(I) = 0.0023%
    Function 'G4PhysicsVector(G4PhysicsVector const&)' :  
        total(I) = 2.46e+03, %class(I) = 0.0003%, %app(I) = 0.0000%

Class 'G4UrbanMscModel' : total = 8.26e+08, % application = 7.2995%
    Function 'SampleScattering(CLHEP::Hep3Vector const&, double)' :  
        total(I) = 4.68e+08, %class(I) = 56.6418%, %app(I) = 4.1346%
    Function 'ComputeGeomPathLength(double)' :  
        total(I) = 1.30e+08, %class(I) = 15.7962%, %app(I) = 1.1530%
    Function 'SampleCosineTheta(double, double)' :  
        total(I) = 7.84e+07, %class(I) = 9.4894%, %app(I) = 0.6927%
    Function 'ComputeTruePathLengthLimit(G4Track const&, double&)' :  
        total(I) = 5.05e+07, %class(I) = 6.1193%, %app(I) = 0.4467%
    Function 'StartTracking(G4Track*)' :  
        total(I) = 3.29e+07, %class(I) = 3.9899%, %app(I) = 0.2912%
    Function 'ComputeTrueStepLength(double)' :  
        total(I) = 1.31e+07, %class(I) = 1.5879%, %app(I) = 0.1159%
    Function 'SampleDisplacement()' :  
        total(I) = 1.30e+07, %class(I) = 1.5748%, %app(I) = 0.1150%
    Function 'LatCorrelation()' :  
        total(I) = 1.23e+07, %class(I) = 1.4912%, %app(I) = 0.1088%
    Function 'ComputeTheta0(double, double)' :  
        total(I) = 1.16e+07, %class(I) = 1.4084%, %app(I) = 0.1028%
    Function 'SimpleScattering(double, double)' :  
        total(I) = 1.10e+07, %class(I) = 1.3352%, %app(I) = 0.0975%
    Function 'SetParticle(G4ParticleDefinition const*)' :  
        total(I) = 4.37e+06, %class(I) = 0.5295%, %app(I) = 0.0386%
    Function 'UpdateCache()' :  
        total(I) = 3.00e+05, %class(I) = 0.0363%, %app(I) = 0.0026%

Class 'G4VMscModel' : total = 5.21e+08, % application = 4.6048%
    Function 'ConvertTrueToGeom(double&, double&)' :  
        total(I) = 2.64e+08, %class(I) = 50.7773%, %app(I) = 2.3382%
    Function 'ComputeSafety(CLHEP::Hep3Vector const&, double)' :  
        total(I) = 1.75e+08, %class(I) = 33.5442%, %app(I) = 1.5446%
    Function 'GetTransportMeanFreePath(G4ParticleDefinition const*, double)' :  
        total(I) = 6.15e+07, %class(I) = 11.8163%, %app(I) = 0.5441%
    Function 'GetRange(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :  
        total(I) = 1.88e+07, %class(I) = 3.6055%, %app(I) = 0.1660%
    Function 'GetEnergy(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :  
        total(I) = 1.29e+06, %class(I) = 0.2472%, %app(I) = 0.0114%
    Function 'GetDEDX(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :  
        total(I) = 4.95e+04, %class(I) = 0.0095%, %app(I) = 0.0004%

Class 'G4UniversalFluctuation' : total = 3.22e+08, % application = 2.8506%
    Function 'SampleFluctuations(G4MaterialCutsCouple const*, G4DynamicParticle const*, double, double, double)' :  
        total(I) = 3.22e+08, %class(I) = 100.0000%, %app(I) = 2.8506%

Class 'G4VParticleChange=>G4ParticleChangeForTransport' :  
        total = 2.91e+08, % application = 2.5723%
    Function 'UpdateStepForAlongStep(G4Step*)' :  
        total(I) = 2.60e+08, %class(I) = 89.3606%, %app(I) = 2.2986%
    Function 'UpdateStepForPostStep(G4Step*)' :  
        total(I) = 2.17e+07, %class(I) = 7.4570%, %app(I) = 0.1918%
    Function 'Initialize(G4Track const&)' :  
        total(I) = 3.54e+06, %class(I) = 1.2152%, %app(I) = 0.0313%
    Function 'SetMomentumChanged(bool)' :  
        total(I) = 3.22e+06, %class(I) = 1.1074%, %app(I) = 0.0285%
    Function 'SetMaterialInTouchable(G4Material*)' :  
        total(I) = 1.46e+06, %class(I) = 0.5012%, %app(I) = 0.0129%
    Function 'SetPointerToVectorOfAuxiliaryPoints(std::vector<CLHEP::Hep3Vector, std::allocator<CLHEP::Hep3Vector> >*)' :  
        total(I) = 1.04e+06, %class(I) = 0.3586%, %app(I) = 0.0092%

Class 'G4VParticleChange=>G4ParticleChangeForLoss' :  
        total = 2.15e+08, % application = 1.8999%
    Function 'UpdateStepForAlongStep(G4Step*)' :  
        total(I) = 1.61e+08, %class(I) = 74.6899%, %app(I) = 1.4190%
    Function 'UpdateStepForPostStep(G4Step*)' :  
        total(I) = 4.88e+07, %class(I) = 22.7000%, %app(I) = 0.4313%
    Function 'InitializeForAlongStep(G4Track const&)' :  
        total(I) = 3.99e+06, %class(I) = 1.8558%, %app(I) = 0.0353%
    Function 'InitializeForPostStep(G4Track const&)' :  
        total(I) = 1.33e+06, %class(I) = 0.6176%, %app(I) = 0.0117%
    Function 'SetProposedKineticEnergy(double)' : 
        total(I) = 2.94e+05, %class(I) = 0.1367%, %app(I) = 0.0026%

Class 'G4VParticleChange=>G4ParticleChange' :  
        total = 1.44e+08, % application = 1.2773%
    Function 'CheckIt(G4Track const&)' :  
        total(I) = 1.36e+08, %class(I) = 94.0757%, %app(I) = 1.2016%
    Function 'ProposeProperTime(double)' :  
        total(I) = 4.46e+06, %class(I) = 3.0858%, %app(I) = 0.0394%
    Function 'ProposeEnergy(double)' :  
        total(I) = 2.50e+06, %class(I) = 1.7306%, %app(I) = 0.0221%
    Function 'ProposeLocalTime(double)' :  
        total(I) = 1.60e+06, %class(I) = 1.1079%, %app(I) = 0.0142%

Class 'G4VParticleChange' : total = 1.09e+08, % application = 0.9673%
    Function 'CheckIt(G4Track const&)' :  
        total(I) = 6.36e+07, %class(I) = 58.1479%, %app(I) = 0.5624%
    Function 'AddSecondary(G4Track*)' :  
        total(I) = 2.05e+07, %class(I) = 18.7021%, %app(I) = 0.1809%
    Function 'Clear()' :  
        total(I) = 1.10e+07, %class(I) = 10.0615%, %app(I) = 0.0973%
    Function 'ProposeTrueStepLength(double)' :  
        total(I) = 4.48e+06, %class(I) = 4.0976%, %app(I) = 0.0396%
    Function 'ProposeLastStepInVolume(bool)' :  
        total(I) = 2.97e+06, %class(I) = 2.7188%, %app(I) = 0.0263%
    Function 'InitializeSecondaries(G4Track const&)' :  
        total(I) = 1.86e+06, %class(I) = 1.7043%, %app(I) = 0.0165%
    Function 'ProposeTrackStatus(G4TrackStatus)' :  
        total(I) = 1.48e+06, %class(I) = 1.3516%, %app(I) = 0.0131%
    Function 'InitializeSteppingControl(G4Track const&)' :  
        total(I) = 1.38e+06, %class(I) = 1.2606%, %app(I) = 0.0122%
    Function 'SetNumberOfSecondaries(int)' :  
        total(I) = 1.20e+06, %class(I) = 1.0989%, %app(I) = 0.0106%
    Function 'ProposeLocalEnergyDeposit(double)' :  
        total(I) = 9.37e+05, %class(I) = 0.8567%, %app(I) = 0.0083%

Class 'G4Physics2DVector' : total = 8.86e+07, % application = 0.7834%
    Function 'Value(double, double, unsigned long&, unsigned long&)' :  
        total(I) = 3.62e+07, %class(I) = 40.8627%, %app(I) = 0.3201%
    Function 'FindBin(double, std::vector<double, std::allocator<double> > const&, unsigned long, unsigned long)' :  
        total(I) = 3.06e+07, %class(I) = 34.4833%, %app(I) = 0.2701%
    Function 'FindBinLocation(double, std::vector<double, std::allocator<double> > const&)' :  
        total(I) = 2.11e+07, %class(I) = 23.7691%, %app(I) = 0.1862%
    Function 'FindBinLocationY(double, unsigned long)' :  
        total(I) = 6.13e+05, %class(I) = 0.6922%, %app(I) = 0.0054%
    Function 'FindBinLocationX(double, unsigned long)' :  
        total(I) = 1.55e+05, %class(I) = 0.1753%, %app(I) = 0.0014%
    Function 'Retrieve(std::basic_ifstream<char, std::char_traits<char> >&)' :  
        total(I) = 1.54e+04, %class(I) = 0.0173%, %app(I) = 0.0001%

Class 'G4VEmModel' : total = 7.58e+07, % application = 0.6705%
    Function 'IsActive(double)' :  
        total(I) = 5.65e+07, %class(I) = 74.4398%, %app(I) = 0.4991%
    Function 'SelectRandomAtom(G4Material const*, G4ParticleDefinition const*, double, double, double)' :  
        total(I) = 1.12e+07, %class(I) = 14.8265%, %app(I) = 0.0994%
    Function 'SetCurrentCouple(G4MaterialCutsCouple const*)' :  
        total(I) = 4.46e+06, %class(I) = 5.8804%, %app(I) = 0.0394%
    Function 'MaxSecondaryKinEnergy(G4DynamicParticle const*)' :  
        total(I) = 2.40e+06, %class(I) = 3.1613%, %app(I) = 0.0212%
    Function 'SelectRandomAtom(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :  
        total(I) = 1.24e+06, %class(I) = 1.6292%, %app(I) = 0.0109%
    Function 'ComputeDEDX(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double)' :  
        total(I) = 2.61e+04, %class(I) = 0.0344%, %app(I) = 0.0002%
    Function 'CrossSection(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :  
        total(I) = 1.39e+04, %class(I) = 0.0183%, %app(I) = 0.0001%
    Function 'InitialiseElementSelectors(G4ParticleDefinition const*, G4DataVector const&)' :  
        total(I) = 7.58e+03, %class(I) = 0.0100%, %app(I) = 0.0001%

Class 'G4VParticleChange=>G4ParticleChangeForGamma' : total = 1.96e+07, % application = 0.1734%
    Function 'UpdateStepForPostStep(G4Step*)' :  
        total(I) = 1.64e+07, %class(I) = 83.4163%, %app(I) = 0.1447%
    Function 'InitializeForPostStep(G4Track const&)' : 
        total(I) = 2.49e+06, %class(I) = 12.7102%, %app(I) = 0.0220%
    Function 'UpdateStepForAtRest(G4Step*)' :  
        total(I) = 6.15e+05, %class(I) = 3.1362%, %app(I) = 0.0054%
    Function 'SetProposedKineticEnergy(double)' :  
        total(I) = 1.45e+05, %class(I) = 0.7373%, %app(I) = 0.0013%

Class 'G4VEmProcess=>G4eplusAnnihilation' : total = 1.16e+07, % application = 0.1030%
    Function 'AtRestDoIt(G4Track const&, G4Step const&)' :  
        total(I) = 1.10e+07, %class(I) = 94.8445%, %app(I) = 0.0977%
    Function 'AtRestGetPhysicalInteractionLength(G4Track const&, G4ForceCondition*)' :  
        total(I) = 6.01e+05, %class(I) = 5.1555%, %app(I) = 0.0053%

Class 'G4VParticleChange=>G4ParticleChangeForMSC' : total = 8.50e+06, % application = 0.0751%
    Function 'UpdateStepForAlongStep(G4Step*)' :  
        total(I) = 6.30e+06, %class(I) = 74.1044%, %app(I) = 0.0557%
    Function 'ProposeMomentumDirection(CLHEP::Hep3Vector const&)' :  
        total(I) = 1.48e+06, %class(I) = 17.3941%, %app(I) = 0.0131%
    Function 'Initialize(G4Track const&)' :  
        total(I) = 3.79e+05, %class(I) = 4.4617%, %app(I) = 0.0034%
    Function 'UpdateStepForPostStep(G4Step*)' :  
        total(I) = 3.43e+05, %class(I) = 4.0399%, %app(I) = 0.0030%

Class 'G4VContinuousDiscreteProcess=>G4eIonisation' : total = 0.00e+00, % application = 0.0000%

Class 'G4VContinuousDiscreteProcess=>G4VContinuousDiscreteProcess' : total = 0.00e+00, % application = 0.0000%

All other classes : 7.89e+10, application total : 1.13e+10
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_L1_DCM

L1 data cache misses: Instrumentation-based measurements

Using selective TAU instrumentation (headers were not instrumented)

For each function, both inclusive (indicated with I) and exclusive (indicated with E) measurements are shown.

Class 'G4PhysicsVector' : total(E) = 2.91e+10, total(I) = 2.91e+10, %app(I) = 9.8517%, %app(E) = 9.8517%
    Function 'Value(G4double, size_t &)' : 
            total(I)=2.91e+10, calls=3.71e+08, percall=78.38, %class(I)=100.0000%, %app(I)=9.8517%, %app(E)=9.8517%
            total(E)=2.91e+10, percall=78.38, %class(E)=100.0000%, %app(E)=9.8517%

Class 'G4VEmProcess' : total(E) = 2.40e+10, total(I) = 3.73e+10, %app(I) = 12.6284%, %app(E) = 8.1232%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=2.49e+10, calls=1.61e+08, percall=154.72, %class(I)=66.9519%, %app(I)=8.4550%, %app(E)=6.0162%
            total(E)=1.78e+10, percall=110.09, %class(E)=47.6398%, %app(E)=6.0162%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.23e+10, calls=3.05e+07, percall=403.52, %class(I)=33.0481%, %app(I)=4.1734%, %app(E)=2.1070%
            total(E)=6.22e+09, percall=203.73, %class(E)=16.6849%, %app(E)=2.1070%

Class 'G4UrbanMscModel' : total(E) = 1.83e+10, total(I) = 3.66e+10, %app(I) = 12.4061%, %app(E) = 6.2063%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : 
            total(I)=2.12e+10, calls=4.58e+07, percall=463.81, %class(I)=57.9761%, %app(I)=7.1926%, %app(E)=3.2005%
            total(E)=9.44e+09, percall=206.38, %class(E)=25.7977%, %app(E)=3.2005%
    Function 'ComputeGeomPathLength(G4double)' : 
            total(I)=5.59e+09, calls=4.58e+07, percall=122.24, %class(I)=15.2803%, %app(I)=1.8957%, %app(E)=1.4087%
            total(E)=4.16e+09, percall=90.84, %class(E)=11.3549%, %app(E)=1.4087%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : 
            total(I)=6.81e+09, calls=1.44e+07, percall=471.35, %class(I)=18.5985%, %app(I)=2.3074%, %app(E)=0.8868%
            total(E)=2.62e+09, percall=181.15, %class(E)=7.1480%, %app(E)=0.8868%
    Function 'SampleCosineTheta(G4double, G4double)' : 
            total(I)=2.98e+09, calls=1.44e+07, percall=206.44, %class(I)=8.1451%, %app(I)=1.0105%, %app(E)=0.7103%
            total(E)=2.10e+09, percall=145.11, %class(E)=5.7256%, %app(E)=0.7103%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total(E) = 1.64e+10, total(I) = 2.77e+10, %app(I) = 9.3838%, %app(E) = 5.5563%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=1.85e+10, calls=9.39e+07, percall=197.57, %class(I)=66.9712%, %app(I)=6.2844%, %app(E)=3.8235%
            total(E)=1.13e+10, percall=120.20, %class(E)=40.7456%, %app(E)=3.8235%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=9.15e+09, calls=4.69e+07, percall=194.87, %class(I)=33.0288%, %app(I)=3.0994%, %app(E)=1.7328%
            total(E)=5.11e+09, percall=108.95, %class(E)=18.4659%, %app(E)=1.7328%

Class 'G4VParticleChange=>G4ParticleChange' : total(E) = 5.33e+09, total(I) = 5.33e+09, %app(I) = 1.8070%, %app(E) = 1.8070%
    Function 'CheckIt(const G4Track &)' : 
            total(I)=5.33e+09, calls=8.31e+07, percall=64.15, %class(I)=100.0000%, %app(I)=1.8070%, %app(E)=1.8070%
            total(E)=5.33e+09, percall=64.15, %class(E)=100.0000%, %app(E)=1.8070%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total(E) = 4.06e+09, total(I) = 1.12e+10, %app(I) = 3.8126%, %app(E) = 1.3770%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.12e+10, calls=4.69e+07, percall=239.72, %class(I)=100.0000%, %app(I)=3.8126%, %app(E)=1.3770%
            total(E)=4.06e+09, percall=86.58, %class(E)=36.1162%, %app(E)=1.3770%

Class 'G4UniversalFluctuation' : total(E) = 1.68e+09, total(I) = 1.68e+09, %app(I) = 0.5708%, %app(E) = 0.5708%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : 
            total(I)=1.68e+09, calls=1.56e+07, percall=107.89, %class(I)=100.0000%, %app(I)=0.5708%, %app(E)=0.5708%
            total(E)=1.68e+09, percall=107.89, %class(E)=100.0000%, %app(E)=0.5708%

Class 'G4Physics2DVector' : total(E) = 1.50e+09, total(I) = 1.50e+09, %app(I) = 0.5100%, %app(E) = 0.5100%
    Function 'Value(G4double, G4double, size_t &, size_t &)' : 
            total(I)=1.50e+09, calls=2.03e+07, percall=74.21, %class(I)=100.0000%, %app(I)=0.5100%, %app(E)=0.5100%
            total(E)=1.50e+09, percall=74.21, %class(E)=100.0000%, %app(E)=0.5100%

All other classes (E): 1.74e+11, (I): 5.84e+11, application total : 2.95e+11
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_L1_DCM

L2 Cache misses (data cache)

Sampling measurements

L2 data cache misses obtained with sampling (500 events). For functions with the highest counts, we also show the counts for an experiment with 1500 events.

Class 'G4VProcess' : total = 3.74e+08, % application = 26.8566%
    Function 'AlongStepGPIL(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 2.09e+08, %class(I) = 55.7670%, %app(I) = 14.9771%
1500:    total(I) = 6.54e+08, %class(I) = 57.2373%, %app(I) = 15.3429%
    Function 'PostStepGPIL(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 1.56e+08, %class(I) = 41.6430%, %app(I) = 11.1839%
1500:    total(I) = 4.64e+08, %class(I) = 40.6083%, %app(I) = 10.8854%
    Function 'EndTracking()' :
        total(I) = 5.25e+06, %class(I) = 1.4006%, %app(I) = 0.3761%
    Function 'StartTracking(G4Track*)' :
        total(I) = 4.35e+06, %class(I) = 1.1625%, %app(I) = 0.3122%
    Function 'AtRestGPIL(G4Track const&, G4ForceCondition*)' :
        total(I) = 1.01e+05, %class(I) = 0.0269%, %app(I) = 0.0072%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total = 2.41e+08, % application = 17.2769%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 8.27e+07, %class(I) = 34.3399%, %app(I) = 5.9329%
1500:    total(I) = 2.37e+08, %class(I) = 32.7658%, %app(I) = 5.5563%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 4.66e+07, %class(I) = 19.3238%, %app(I) = 3.3386%
1500:       total(I) = 1.49e+08, %class(I) = 20.6299%, %app(I) = 3.4983%
    Function 'GetLambdaForScaledEnergy(double)' :
        total(I) = 3.49e+07, %class(I) = 14.4793%, %app(I) = 2.5016%
1500:    total(I) = 1.05e+08, %class(I) = 14.5470%, %app(I) = 2.4668%
    Function 'GetScaledRangeForScaledEnergy(double)' :
        total(I) = 3.04e+07, %class(I) = 12.6185%, %app(I) = 2.1801%
1500:    total(I) = 9.66e+07, %class(I) = 13.3694%, %app(I) = 2.2671%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 1.47e+07, %class(I) = 6.1078%, %app(I) = 1.0552%
1500:    total(I) = 4.46e+07, %class(I) = 6.1658%, %app(I) = 1.0456%
    Function 'GetDEDXForScaledEnergy(double)' :
        total(I) = 1.03e+07, %class(I) = 4.2860%, %app(I) = 0.7405%
    Function 'ScaledKinEnergyForLoss(double)' :
        total(I) = 6.59e+06, %class(I) = 2.7363%, %app(I) = 0.4728%
    Function 'StartTracking(G4Track*)' :
        total(I) = 4.57e+06, %class(I) = 1.8957%, %app(I) = 0.3275%
    Function 'GetKineticEnergy(double&, G4MaterialCutsCouple const*)' :
        total(I) = 3.67e+06, %class(I) = 1.5236%, %app(I) = 0.2632%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 3.11e+06, %class(I) = 1.2913%, %app(I) = 0.2231%
    Function 'ComputeLambdaForScaledEnergy(double)' :
        total(I) = 9.17e+05, %class(I) = 0.3805%, %app(I) = 0.0657%
    Function 'GetRangeForLoss(double&, G4MaterialCutsCouple const*)' :
        total(I) = 8.66e+05, %class(I) = 0.3594%, %app(I) = 0.0621%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' :
        total(I) = 7.22e+05, %class(I) = 0.2998%, %app(I) = 0.0518%
    Function 'SelectModel(double)' :
        total(I) = 6.82e+05, %class(I) = 0.2830%, %app(I) = 0.0489%
    Function 'GetDEDX(double&, G4MaterialCutsCouple const*)' :
        total(I) = 8.60e+04, %class(I) = 0.0357%, %app(I) = 0.0062%
    Function 'PreparePhysicsTable(G4ParticleDefinition const&)' :
        total(I) = 7.03e+04, %class(I) = 0.0292%, %app(I) = 0.0050%
    Function 'BuildPhysicsTable(G4ParticleDefinition const&)' :
        total(I) = 2.44e+04, %class(I) = 0.0101%, %app(I) = 0.0018%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total = 2.23e+08, % application = 16.0229%
    Function 'AlongStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.10e+08, %class(I) = 49.2053%, %app(I) = 7.8841%
1500:    total(I) = 3.23e+08, %class(I) = 46.5777%, %app(I) = 7.5699%
    Function 'AlongStepGetPhysicalInteractionLength(G4Track const&, double, double, double&, G4GPILSelection*)' :
        total(I) = 9.29e+07, %class(I) = 41.5787%, %app(I) = 6.6621%
1500:    total(I) = 3.00e+08, %class(I) = 43.3017%, %app(I) = 7.0375%
    Function 'StartTracking(G4Track*)' :
        total(I) = 1.21e+07, %class(I) = 5.3986%, %app(I) = 0.8650%
    Function 'GetModelByIndex(int, bool)' :
        total(I) = 3.36e+06, %class(I) = 1.5031%, %app(I) = 0.2408%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 2.82e+06, %class(I) = 1.2606%, %app(I) = 0.2020%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 2.35e+06, %class(I) = 1.0538%, %app(I) = 0.1688%

Class 'G4VEmProcess' : total = 1.92e+08, % application = 13.7775%
    Function 'PostStepDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.15e+08, %class(I) = 59.7190%, %app(I) = 8.2278%
1500:    total(I) = 3.50e+08, %class(I) = 60.3168%, %app(I) = 8.2087%
    Function 'GetLambdaFromTable(double)' :
        total(I) = 2.36e+07, %class(I) = 12.2710%, %app(I) = 1.6906%
1500:    total(I) = 6.83e+07, %class(I) = 11.7734%, %app(I) = 1.6023%
    Function 'PostStepGetPhysicalInteractionLength(G4Track const&, double, G4ForceCondition*)' :
        total(I) = 1.85e+07, %class(I) = 9.6379%, %app(I) = 1.3279%
1500:    total(I) = 5.45e+07, %class(I) = 9.3931%, %app(I) = 1.2783%
    Function 'GetLambdaFromTablePrim(double)' :
        total(I) = 1.55e+07, %class(I) = 8.0590%, %app(I) = 1.1103%
1500:    total(I) = 4.72e+07, %class(I) = 8.1317%, %app(I) = 1.1067%
    Function 'ComputeCurrentLambda(double)' :
        total(I) = 1.01e+07, %class(I) = 5.2363%, %app(I) = 0.7214%
    Function 'StartTracking(G4Track*)' :
        total(I) = 3.70e+06, %class(I) = 1.9246%, %app(I) = 0.2652%
    Function 'DefineMaterial(G4MaterialCutsCouple const*)' :
        total(I) = 2.96e+06, %class(I) = 1.5405%, %app(I) = 0.2122%
    Function 'SelectModel(double&, unsigned long)' :
        total(I) = 2.52e+06, %class(I) = 1.3094%, %app(I) = 0.1804%
    Function 'GetCurrentLambda(double)' :
        total(I) = 5.81e+05, %class(I) = 0.3023%, %app(I) = 0.0417%

Class 'G4PhysicsVector' : total = 1.05e+08, % application = 7.5133%
    Function 'SplineInterpolation(unsigned long, double)' :
        total(I) = 5.07e+07, %class(I) = 48.4010%, %app(I) = 3.6365%
1500:    total(I) = 1.59e+08, %class(I) = 49.0392%, %app(I) = 3.7222%
    Function 'FindBinLocation(double)' :
        total(I) = 2.38e+07, %class(I) = 22.7109%, %app(I) = 1.7063%
1500:    total(I) = 7.07e+07, %class(I) = 21.8636%, %app(I) = 1.6595%
    Function 'Value(double, unsigned long&)' :
        total(I) = 1.64e+07, %class(I) = 15.6621%, %app(I) = 1.1768%
1500:    total(I) = 5.32e+07, %class(I) = 16.4345%, %app(I) = 1.2474%
    Function 'FindBin(double, unsigned long)' :
        total(I) = 1.26e+07, %class(I) = 12.0302%, %app(I) = 0.9039%
    Function 'Interpolation(unsigned long, double)' :
        total(I) = 7.31e+05, %class(I) = 0.6975%, %app(I) = 0.0524%
    Function 'Energy(unsigned long)' :
        total(I) = 5.00e+05, %class(I) = 0.4774%, %app(I) = 0.0359%
    Function 'G4PhysicsVector(G4PhysicsVector const&)' :
        total(I) = 1.24e+04, %class(I) = 0.0119%, %app(I) = 0.0009%
    Function 'Value(double)' :
        total(I) = 9.45e+03, %class(I) = 0.0090%, %app(I) = 0.0007%

Class 'G4UrbanMscModel' : total = 1.03e+08, % application = 7.3522%
    Function 'SampleScattering(CLHEP::Hep3Vector const&, double)' :
        total(I) = 6.03e+07, %class(I) = 58.8260%, %app(I) = 4.3250%
1500:    total(I) = 1.78e+08, %class(I) = 58.7857%, %app(I) = 4.1792%
    Function 'ComputeGeomPathLength(double)' :
        total(I) = 1.36e+07, %class(I) = 13.2683%, %app(I) = 0.9755%
    Function 'SampleCosineTheta(double, double)' :
        total(I) = 1.07e+07, %class(I) = 10.4407%, %app(I) = 0.7676%
    Function 'ComputeTruePathLengthLimit(G4Track const&, double&)' :
        total(I) = 5.06e+06, %class(I) = 4.9325%, %app(I) = 0.3626%
    Function 'StartTracking(G4Track*)' :
        total(I) = 4.04e+06, %class(I) = 3.9425%, %app(I) = 0.2899%
    Function 'LatCorrelation()' :
        total(I) = 1.85e+06, %class(I) = 1.8073%, %app(I) = 0.1329%
    Function 'SimpleScattering(double, double)' :
        total(I) = 1.71e+06, %class(I) = 1.6707%, %app(I) = 0.1228%
    Function 'SampleDisplacement()' :
        total(I) = 1.70e+06, %class(I) = 1.6609%, %app(I) = 0.1221%
    Function 'ComputeTrueStepLength(double)' :
        total(I) = 1.70e+06, %class(I) = 1.6591%, %app(I) = 0.1220%
    Function 'ComputeTheta0(double, double)' :
        total(I) = 1.32e+06, %class(I) = 1.2880%, %app(I) = 0.0947%
    Function 'SetParticle(G4ParticleDefinition const*)' :
        total(I) = 4.99e+05, %class(I) = 0.4863%, %app(I) = 0.0358%
    Function 'UpdateCache()' :
        total(I) = 1.82e+04, %class(I) = 0.0177%, %app(I) = 0.0013%

Class 'G4VMscModel' : total = 6.33e+07, % application = 4.5366%
    Function 'ConvertTrueToGeom(double&, double&)' :
        total(I) = 3.04e+07, %class(I) = 48.0314%, %app(I) = 2.1790%
1500:    total(I) = 9.20e+07, %class(I) = 43.9242%, %app(I) = 2.1582%
    Function 'ComputeSafety(CLHEP::Hep3Vector const&, double)' :
        total(I) = 2.51e+07, %class(I) = 39.7062%, %app(I) = 1.8013%
1500:    total(I) = 8.69e+07, %class(I) = 41.5118%, %app(I) = 2.0396%
    Function 'GetTransportMeanFreePath(G4ParticleDefinition const*, double)' :
        total(I) = 5.63e+06, %class(I) = 8.9023%, %app(I) = 0.4039%
    Function 'GetRange(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :
        total(I) = 1.97e+06, %class(I) = 3.1191%, %app(I) = 0.1415%
    Function 'GetEnergy(G4ParticleDefinition const*, double, G4MaterialCutsCouple const*)' :
        total(I) = 1.53e+05, %class(I) = 0.2411%, %app(I) = 0.0109%

Class 'G4UniversalFluctuation' : total = 3.88e+07, % application = 2.7816%
    Function 'SampleFluctuations(G4MaterialCutsCouple const*, G4DynamicParticle const*, double, double, double)' :
        total(I) = 3.88e+07, %class(I) = 100.0000%, %app(I) = 2.7816%
1500:    total(I) = 1.16e+08, %class(I) = 100.0000%, %app(I) = 2.7314%

Class 'G4VParticleChange=>G4ParticleChangeForTransport' : total = 3.80e+07, % application = 2.7273%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 3.49e+07, %class(I) = 91.8208%, %app(I) = 2.5042%
1500:    total(I) = 9.28e+07, %class(I) = 91.0075%, %app(I) = 2.1778%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 1.84e+06, %class(I) = 4.8333%, %app(I) = 0.1318%
    Function 'SetMomentumChanged(bool)' :
        total(I) = 4.66e+05, %class(I) = 1.2242%, %app(I) = 0.0334%
    Function 'Initialize(G4Track const&)' :
        total(I) = 4.65e+05, %class(I) = 1.2216%, %app(I) = 0.0333%
    Function 'SetMaterialInTouchable(G4Material*)' :
        total(I) = 1.73e+05, %class(I) = 0.4545%, %app(I) = 0.0124%
    Function 'SetPointerToVectorOfAuxiliaryPoints(std::vector<CLHEP::Hep3Vector, std::allocator<CLHEP::Hep3Vector> >*)' :
        total(I) = 1.69e+05, %class(I) = 0.4456%, %app(I) = 0.0122%

Class 'G4VParticleChange=>G4ParticleChangeForLoss' : total = 2.82e+07, % application = 2.0247%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 2.09e+07, %class(I) = 73.9492%, %app(I) = 1.4972%
1500:    total(I) = 6.38e+07, %class(I) = 73.0263%, %app(I) = 1.4959%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 6.58e+06, %class(I) = 23.2989%, %app(I) = 0.4717%
    Function 'InitializeForAlongStep(G4Track const&)' :
        total(I) = 6.60e+05, %class(I) = 2.3384%, %app(I) = 0.0473%
    Function 'InitializeForPostStep(G4Track const&)' :
        total(I) = 1.11e+05, %class(I) = 0.3935%, %app(I) = 0.0080%
    Function 'SetProposedKineticEnergy(double)' :
        total(I) = 5.64e+03, %class(I) = 0.0200%, %app(I) = 0.0004%

Class 'G4VParticleChange=>G4ParticleChange' : total = 2.21e+07, % application = 1.5854%
    Function 'CheckIt(G4Track const&)' :
        total(I) = 2.11e+07, %class(I) = 95.5243%, %app(I) = 1.5144%
1500:    total(I) = 5.00e+07, %class(I) = 94.8489%, %app(I) = 1.1723%
    Function 'ProposeProperTime(double)' :
        total(I) = 5.75e+05, %class(I) = 2.6023%, %app(I) = 0.0413%
    Function 'ProposeLocalTime(double)' :
        total(I) = 2.13e+05, %class(I) = 0.9630%, %app(I) = 0.0153%
    Function 'ProposeEnergy(double)' :
        total(I) = 2.01e+05, %class(I) = 0.9104%, %app(I) = 0.0144%

Class 'G4VParticleChange' : total = 1.28e+07, % application = 0.9154%
    Function 'CheckIt(G4Track const&)' :
        total(I) = 7.14e+06, %class(I) = 55.9572%, %app(I) = 0.5122%
    Function 'AddSecondary(G4Track*)' :
        total(I) = 2.43e+06, %class(I) = 19.0513%, %app(I) = 0.1744%
    Function 'Clear()' :
        total(I) = 1.14e+06, %class(I) = 8.9017%, %app(I) = 0.0815%
    Function 'ProposeLastStepInVolume(bool)' :
        total(I) = 5.68e+05, %class(I) = 4.4515%, %app(I) = 0.0407%
    Function 'ProposeTrueStepLength(double)' :
        total(I) = 4.89e+05, %class(I) = 3.8294%, %app(I) = 0.0351%
    Function 'InitializeSecondaries(G4Track const&)' :
        total(I) = 2.85e+05, %class(I) = 2.2320%, %app(I) = 0.0204%
    Function 'SetNumberOfSecondaries(int)' :
        total(I) = 2.16e+05, %class(I) = 1.6928%, %app(I) = 0.0155%
    Function 'ProposeTrackStatus(G4TrackStatus)' :
        total(I) = 2.04e+05, %class(I) = 1.5967%, %app(I) = 0.0146%
    Function 'ProposeLocalEnergyDeposit(double)' :
        total(I) = 1.55e+05, %class(I) = 1.2120%, %app(I) = 0.0111%
    Function 'InitializeSteppingControl(G4Track const&)' :
        total(I) = 1.37e+05, %class(I) = 1.0755%, %app(I) = 0.0098%

Class 'G4Physics2DVector' : total = 1.09e+07, % application = 0.7840%
    Function 'Value(double, double, unsigned long&, unsigned long&)' :
        total(I) = 4.97e+06, %class(I) = 45.5097%, %app(I) = 0.3568%
    Function 'FindBin(double, std::vector<double, std::allocator<double> > const&, unsigned long, unsigned long)' :
        total(I) = 3.48e+06, %class(I) = 31.8671%, %app(I) = 0.2498%
    Function 'FindBinLocation(double, std::vector<double, std::allocator<double> > const&)' :
        total(I) = 2.35e+06, %class(I) = 21.5131%, %app(I) = 0.1687%
    Function 'FindBinLocationY(double, unsigned long)' :
        total(I) = 7.44e+04, %class(I) = 0.6803%, %app(I) = 0.0053%
    Function 'FindBinLocationX(double, unsigned long)' :
        total(I) = 3.65e+04, %class(I) = 0.3341%, %app(I) = 0.0026%
    Function 'Retrieve(std::basic_ifstream<char, std::char_traits<char> >&)' :
        total(I) = 1.05e+04, %class(I) = 0.0957%, %app(I) = 0.0008%

Class 'G4VEmModel' : total = 9.12e+06, % application = 0.6538%
    Function 'IsActive(double)' :
        total(I) = 6.95e+06, %class(I) = 76.2169%, %app(I) = 0.4983%
    Function 'SelectRandomAtom(G4Material const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 1.19e+06, %class(I) = 13.0155%, %app(I) = 0.0851%
    Function 'SetCurrentCouple(G4MaterialCutsCouple const*)' :
        total(I) = 6.02e+05, %class(I) = 6.6086%, %app(I) = 0.0432%
    Function 'MaxSecondaryKinEnergy(G4DynamicParticle const*)' :
        total(I) = 2.48e+05, %class(I) = 2.7187%, %app(I) = 0.0178%
    Function 'SelectRandomAtom(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 1.07e+05, %class(I) = 1.1753%, %app(I) = 0.0077%
    Function 'InitialiseElementSelectors(G4ParticleDefinition const*, G4DataVector const&)' :
        total(I) = 8.86e+03, %class(I) = 0.0972%, %app(I) = 0.0006%
    Function 'ComputeCrossSectionPerAtom(G4ParticleDefinition const*, G4Element const*, double, double, double)' :
        total(I) = 6.32e+03, %class(I) = 0.0694%, %app(I) = 0.0005%
    Function 'CrossSection(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double, double)' :
        total(I) = 5.70e+03, %class(I) = 0.0625%, %app(I) = 0.0004%
    Function 'ComputeDEDX(G4MaterialCutsCouple const*, G4ParticleDefinition const*, double, double)' :
        total(I) = 3.28e+03, %class(I) = 0.0360%, %app(I) = 0.0002%

Class 'G4VParticleChange=>G4ParticleChangeForGamma' : total = 2.65e+06, % application = 0.1897%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 2.29e+06, %class(I) = 86.7264%, %app(I) = 0.1646%
    Function 'InitializeForPostStep(G4Track const&)' :
        total(I) = 2.54e+05, %class(I) = 9.5861%, %app(I) = 0.0182%
    Function 'UpdateStepForAtRest(G4Step*)' :
        total(I) = 8.48e+04, %class(I) = 3.2051%, %app(I) = 0.0061%
    Function 'SetProposedKineticEnergy(double)' :
        total(I) = 1.28e+04, %class(I) = 0.4824%, %app(I) = 0.0009%

Class 'G4VEmProcess=>G4eplusAnnihilation' : total = 1.52e+06, % application = 0.1091%
    Function 'AtRestDoIt(G4Track const&, G4Step const&)' :
        total(I) = 1.43e+06, %class(I) = 93.8064%, %app(I) = 0.1024%
    Function 'AtRestGetPhysicalInteractionLength(G4Track const&, G4ForceCondition*)' :
        total(I) = 9.42e+04, %class(I) = 6.1936%, %app(I) = 0.0068%

Class 'G4VParticleChange=>G4ParticleChangeForMSC' : total = 1.04e+06, % application = 0.0745%
    Function 'UpdateStepForAlongStep(G4Step*)' :
        total(I) = 8.81e+05, %class(I) = 84.7161%, %app(I) = 0.0632%
    Function 'ProposeMomentumDirection(CLHEP::Hep3Vector const&)' :
        total(I) = 6.51e+04, %class(I) = 6.2653%, %app(I) = 0.0047%
    Function 'UpdateStepForPostStep(G4Step*)' :
        total(I) = 6.06e+04, %class(I) = 5.8301%, %app(I) = 0.0043%
    Function 'Initialize(G4Track const&)' :
        total(I) = 3.31e+04, %class(I) = 3.1885%, %app(I) = 0.0024%

Class 'G4VContinuousDiscreteProcess=>G4eIonisation' : total = 0.00e+00, % application = 0.0000%

Class 'G4VContinuousDiscreteProcess=>G4VContinuousDiscreteProcess' : total = 0.00e+00, % application = 0.0000%

All other classes : 9.64e+09, application total : 1.39e+09
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_L2_DCM

L2 data cache misses: Instrumentation-based measurements

Using selective TAU instrumentation (headers were not instrumented).

For each function, both inclusive (indicated with I) and exclusive (indicated with E) measurements are shown.

Class 'G4VEmProcess' : total(E) = 3.04e+09, total(I) = 4.59e+09, %app(I) = 14.8448%, %app(E) = 9.8258%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=2.48e+09, calls=1.61e+08, percall=15.38, %class(I)=54.0898%, %app(I)=8.0295%, %app(E)=6.1177%
            total(E)=1.89e+09, percall=11.72, %class(E)=41.2113%, %app(E)=6.1177%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=2.11e+09, calls=3.05e+07, percall=68.99, %class(I)=45.9102%, %app(I)=6.8153%, %app(E)=3.7080%
            total(E)=1.15e+09, percall=37.54, %class(E)=24.9787%, %app(E)=3.7080%

Class 'G4PhysicsVector' : total(E) = 2.86e+09, total(I) = 2.86e+09, %app(I) = 9.2712%, %app(E) = 9.2712%
    Function 'Value(G4double, size_t &)' : 
            total(I)=2.86e+09, calls=3.71e+08, percall=7.72, %class(I)=100.0000%, %app(I)=9.2712%, %app(E)=9.2712%
            total(E)=2.86e+09, percall=7.72, %class(E)=100.0000%, %app(E)=9.2712%

Class 'G4UrbanMscModel' : total(E) = 2.17e+09, total(I) = 4.12e+09, %app(I) = 13.3281%, %app(E) = 7.0353%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : 
            total(I)=2.37e+09, calls=4.58e+07, percall=51.79, %class(I)=57.5551%, %app(I)=7.6710%, %app(E)=3.6019%
            total(E)=1.11e+09, percall=24.32, %class(E)=27.0250%, %app(E)=3.6019%
    Function 'ComputeGeomPathLength(G4double)' : 
            total(I)=5.45e+08, calls=4.58e+07, percall=11.91, %class(I)=13.2386%, %app(I)=1.7645%, %app(E)=1.2441%
            total(E)=3.84e+08, percall=8.40, %class(E)=9.3342%, %app(E)=1.2441%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : 
            total(I)=8.46e+08, calls=1.44e+07, percall=58.55, %class(I)=20.5391%, %app(I)=2.7375%, %app(E)=1.2325%
            total(E)=3.81e+08, percall=26.36, %class(E)=9.2470%, %app(E)=1.2325%
    Function 'SampleCosineTheta(G4double, G4double)' : 
            total(I)=3.57e+08, calls=1.44e+07, percall=24.71, %class(I)=8.6672%, %app(I)=1.1552%, %app(E)=0.9568%
            total(E)=2.96e+08, percall=20.47, %class(E)=7.1790%, %app(E)=0.9568%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total(E) = 1.90e+09, total(I) = 3.07e+09, %app(I) = 9.9330%, %app(E) = 6.1448%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=2.17e+09, calls=9.39e+07, percall=23.11, %class(I)=70.6815%, %app(I)=7.0208%, %app(E)=4.4624%
            total(E)=1.38e+09, percall=14.69, %class(E)=44.9256%, %app(E)=4.4624%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=9.00e+08, calls=4.69e+07, percall=19.17, %class(I)=29.3185%, %app(I)=2.9122%, %app(E)=1.6823%
            total(E)=5.20e+08, percall=11.07, %class(E)=16.9366%, %app(E)=1.6823%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total(E) = 3.43e+08, total(I) = 1.22e+09, %app(I) = 3.9575%, %app(E) = 1.1118%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.22e+09, calls=4.69e+07, percall=26.05, %class(I)=100.0000%, %app(I)=3.9575%, %app(E)=1.1118%
            total(E)=3.43e+08, percall=7.32, %class(E)=28.0937%, %app(E)=1.1118%

Class 'G4VParticleChange=>G4ParticleChange' : total(E) = 3.41e+08, total(I) = 3.41e+08, %app(I) = 1.1050%, %app(E) = 1.1050%
    Function 'CheckIt(const G4Track &)' : 
            total(I)=3.41e+08, calls=8.31e+07, percall=4.11, %class(I)=100.0000%, %app(I)=1.1050%, %app(E)=1.1050%
            total(E)=3.41e+08, percall=4.11, %class(E)=100.0000%, %app(E)=1.1050%

Class 'G4UniversalFluctuation' : total(E) = 2.05e+08, total(I) = 2.05e+08, %app(I) = 0.6629%, %app(E) = 0.6629%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : 
            total(I)=2.05e+08, calls=1.56e+07, percall=13.12, %class(I)=100.0000%, %app(I)=0.6629%, %app(E)=0.6629%
            total(E)=2.05e+08, percall=13.12, %class(E)=100.0000%, %app(E)=0.6629%

Class 'G4Physics2DVector' : total(E) = 1.84e+08, total(I) = 1.84e+08, %app(I) = 0.5962%, %app(E) = 0.5962%
    Function 'Value(G4double, G4double, size_t &, size_t &)' : 
            total(I)=1.84e+08, calls=2.03e+07, percall=9.08, %class(I)=100.0000%, %app(I)=0.5962%, %app(E)=0.5962%
            total(E)=1.84e+08, percall=9.08, %class(E)=100.0000%, %app(E)=0.5962%

All other classes (E): 1.62e+10, (I): 6.02e+10, application total : 3.09e+10
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_L2_DCM

TLB misses (data)

If a data cache miss occurs, loading a complete cache line can take dozens of processor cycles. If a TLB miss occurs, calculating the virtual-to-real mapping of a page can take several dozen cycles. The exact cost is implementation-dependent.

Sampling

There were too few misses to detect via sampling.

Instrumentation

Selective TAU instrumentation results.

Class 'G4PhysicsVector' : total(E) = 1.24e+09, total(I) = 1.24e+09, %app(I) = 15.4664%, %app(E) = 15.4664%
    Function 'Value(G4double, size_t &)' : 
            total(I)=1.24e+09, calls=3.71e+08, percall=3.34, %class(I)=100.0000%, %app(I)=15.4664%, %app(E)=15.4664%
            total(E)=1.24e+09, percall=3.34, %class(E)=100.0000%, %app(E)=15.4664%

Class 'G4VEmProcess' : total(E) = 9.99e+08, total(I) = 1.46e+09, %app(I) = 18.2639%, %app(E) = 12.4817%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=1.19e+09, calls=1.61e+08, percall=7.40, %class(I)=81.6042%, %app(I)=14.9041%, %app(E)=10.5411%
            total(E)=8.44e+08, percall=5.23, %class(E)=57.7155%, %app(E)=10.5411%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=2.69e+08, calls=3.05e+07, percall=8.81, %class(I)=18.3958%, %app(I)=3.3598%, %app(E)=1.9406%
            total(E)=1.55e+08, percall=5.09, %class(E)=10.6252%, %app(E)=1.9406%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total(E) = 4.84e+08, total(I) = 9.22e+08, %app(I) = 11.5234%, %app(E) = 6.0432%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : 
            total(I)=6.69e+08, calls=9.39e+07, percall=7.13, %class(I)=72.5424%, %app(I)=8.3593%, %app(E)=4.3526%
            total(E)=3.48e+08, percall=3.71, %class(E)=37.7717%, %app(E)=4.3526%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=2.53e+08, calls=4.69e+07, percall=5.40, %class(I)=27.4576%, %app(I)=3.1640%, %app(E)=1.6906%
            total(E)=1.35e+08, percall=2.88, %class(E)=14.6711%, %app(E)=1.6906%

Class 'G4VParticleChange=>G4ParticleChange' : total(E) = 2.64e+08, total(I) = 2.64e+08, %app(I) = 3.2945%, %app(E) = 3.2945%
    Function 'CheckIt(const G4Track &)' : 
            total(I)=2.64e+08, calls=8.31e+07, percall=3.17, %class(I)=100.0000%, %app(I)=3.2945%, %app(E)=3.2945%
            total(E)=2.64e+08, percall=3.17, %class(E)=100.0000%, %app(E)=3.2945%

Class 'G4UrbanMscModel' : total(E) = 2.27e+08, total(I) = 6.07e+08, %app(I) = 7.5856%, %app(E) = 2.8395%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : 
            total(I)=3.37e+08, calls=4.58e+07, percall=7.37, %class(I)=55.5689%, %app(I)=4.2152%, %app(E)=1.1094%
            total(E)=8.88e+07, percall=1.94, %class(E)=14.6251%, %app(E)=1.1094%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : 
            total(I)=1.58e+08, calls=1.44e+07, percall=10.92, %class(I)=25.9882%, %app(I)=1.9714%, %app(E)=0.8949%
            total(E)=7.16e+07, percall=4.96, %class(E)=11.7976%, %app(E)=0.8949%
    Function 'ComputeGeomPathLength(G4double)' : 
            total(I)=7.87e+07, calls=4.58e+07, percall=1.72, %class(I)=12.9634%, %app(I)=0.9833%, %app(E)=0.7021%
            total(E)=5.62e+07, percall=1.23, %class(E)=9.2555%, %app(E)=0.7021%
    Function 'SampleCosineTheta(G4double, G4double)' : 
            total(I)=3.33e+07, calls=1.44e+07, percall=2.30, %class(I)=5.4795%, %app(I)=0.4157%, %app(E)=0.1331%
            total(E)=1.06e+07, percall=0.74, %class(E)=1.7543%, %app(E)=0.1331%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total(E) = 7.33e+07, total(I) = 2.53e+08, %app(I) = 3.1583%, %app(E) = 0.9154%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=2.53e+08, calls=4.69e+07, percall=5.39, %class(I)=100.0000%, %app(I)=3.1583%, %app(E)=0.9154%
            total(E)=7.33e+07, percall=1.56, %class(E)=28.9854%, %app(E)=0.9154%

Class 'G4UniversalFluctuation' : total(E) = 3.01e+07, total(I) = 3.01e+07, %app(I) = 0.3760%, %app(E) = 0.3760%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : 
            total(I)=3.01e+07, calls=1.56e+07, percall=1.93, %class(I)=100.0000%, %app(I)=0.3760%, %app(E)=0.3760%
            total(E)=3.01e+07, percall=1.93, %class(E)=100.0000%, %app(E)=0.3760%

Class 'G4Physics2DVector' : total(E) = 1.73e+07, total(I) = 1.73e+07, %app(I) = 0.2166%, %app(E) = 0.2166%
    Function 'Value(G4double, G4double, size_t &, size_t &)' : 
            total(I)=1.73e+07, calls=2.03e+07, percall=0.85, %class(I)=100.0000%, %app(I)=0.2166%, %app(E)=0.2166%
            total(E)=1.73e+07, percall=0.85, %class(E)=100.0000%, %app(E)=0.2166%

All other classes (E): 4.38e+09, (I): 1.66e+10, application total : 8.00e+09
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_TLB_DM

Double precision vector instructions

Sampling results did not catch any vector instructions.

Selective instrumentation with TAU measured the following double-precision vector instruction counts (higher is better).

Class 'G4UrbanMscModel' : total(E) = 1.15e+08, total(I) = 1.88e+08, %app(I) = 80.7965%, %app(E) = 49.5311%
    Function 'SampleCosineTheta(G4double, G4double)' : 
            total(I)=5.79e+07, calls=1.44e+07, percall=4.01, %class(I)=30.7846%, %app(I)=24.8729%, %app(E)=24.8729%
            total(E)=5.79e+07, percall=4.01, %class(E)=30.7846%, %app(E)=24.8729%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : 
            total(I)=9.94e+07, calls=1.44e+07, percall=6.88, %class(I)=52.8159%, %app(I)=42.6734%, %app(E)=17.8005%
            total(E)=4.14e+07, percall=2.87, %class(E)=22.0313%, %app(E)=17.8005%
    Function 'ComputeGeomPathLength(G4double)' : 
            total(I)=1.49e+07, calls=4.58e+07, percall=0.33, %class(I)=7.9119%, %app(I)=6.3925%, %app(E)=6.3925%
            total(E)=1.49e+07, percall=0.33, %class(E)=7.9119%, %app(E)=6.3925%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : 
            total(I)=1.60e+07, calls=4.58e+07, percall=0.35, %class(I)=8.4877%, %app(I)=6.8577%, %app(E)=0.4652%
            total(E)=1.08e+06, percall=0.02, %class(E)=0.5758%, %app(E)=0.4652%

Class 'G4UniversalFluctuation' : total(E) = 6.35e+07, total(I) = 6.35e+07, %app(I) = 27.2638%, %app(E) = 27.2638%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : 
            total(I)=6.35e+07, calls=1.56e+07, percall=4.07, %class(I)=100.0000%, %app(I)=27.2638%, %app(E)=27.2638%
            total(E)=6.35e+07, percall=4.07, %class(E)=100.0000%, %app(E)=27.2638%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total(E) = 2.54e+06, total(I) = 1.02e+08, %app(I) = 43.7644%, %app(E) = 1.0910%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.02e+08, calls=4.69e+07, percall=2.17, %class(I)=100.0000%, %app(I)=43.7644%, %app(E)=1.0910%
            total(E)=2.54e+06, percall=0.05, %class(E)=2.4928%, %app(E)=1.0910%

Class 'G4VEmProcess' : total(E) = 1.25e+05, total(I) = 1.97e+07, %app(I) = 8.4498%, %app(E) = 0.0536%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.97e+07, calls=3.05e+07, percall=0.64, %class(I)=100.0000%, %app(I)=8.4498%, %app(E)=0.0536%
            total(E)=1.25e+05, percall=0.00, %class(E)=0.6339%, %app(E)=0.0536%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total(E) = 0.00e+00, total(I) = 6.35e+07, %app(I) = 27.2638%, %app(E) = 0.0000%

Class 'G4PhysicsVector' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

Class 'G4VParticleChange=>G4ParticleChange' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

Class 'G4Physics2DVector' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

All other classes (E): 5.12e+07, (I): 4.02e+08, application total : 2.33e+08
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_VEC_DP

The following table lists the percentage of double-precision vector instructions of all floating-point instructions for each class and function.

Percentage of double-precision vector instructions of all floating-point instructions
Class 'G4UniversalFluctuation' : Exclusive = 0.6758%, Inclusive = 0.6758%
     Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : Exclusive = 0.6758%, Inclusive = 0.6758%

Class 'G4UrbanMscModel' : Exclusive = 0.5551%, Inclusive = 0.5113%
     Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : Exclusive = 0.0152%, Inclusive = 0.1116%
     Function 'ComputeGeomPathLength(G4double)' : Exclusive = 0.5770%, Inclusive = 0.4219%
     Function 'SampleCosineTheta(G4double, G4double)' : Exclusive = 0.8874%, Inclusive = 0.8299%
     Function 'SampleScattering(const G4ThreeVector &, G4double)' : Exclusive = 0.9144%, Inclusive = 0.8291%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : Exclusive = 0.1121%, Inclusive = 0.7096%

Class 'G4VEmProcess' : Exclusive = 0.0011%, Inclusive = 0.0865%
     Function 'PostStepDoIt(const G4Track &, const G4Step &)' : Exclusive = 0.0042%, Inclusive = 0.1897%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : Exclusive = 0.0000%, Inclusive = 0.2815%

Class 'G4PhysicsVector' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4Physics2DVector' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VParticleChange=>G4ParticleChange' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VMultipleScattering' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4ParticleChange' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VEnergyLossProcess' : Exclusive = 0.0000%, Inclusive = 0.0000%
END Percentage of double-precision vector instructions of all floating-point instructions

Single precision vector instructions

Sampling results did not catch any vector instructions.

Selective instrumentation with TAU measured the following single-precision vector instruction counts (higher is better).

Class 'G4UrbanMscModel' : total(E) = 1.15e+08, total(I) = 1.88e+08, %app(I) = 80.7965%, %app(E) = 49.5311%
    Function 'SampleCosineTheta(G4double, G4double)' : 
            total(I)=5.79e+07, calls=1.44e+07, percall=4.01, %class(I)=30.7846%, %app(I)=24.8729%, %app(E)=24.8729%
            total(E)=5.79e+07, percall=4.01, %class(E)=30.7846%, %app(E)=24.8729%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : 
            total(I)=9.94e+07, calls=1.44e+07, percall=6.88, %class(I)=52.8159%, %app(I)=42.6734%, %app(E)=17.8005%
            total(E)=4.14e+07, percall=2.87, %class(E)=22.0313%, %app(E)=17.8005%
    Function 'ComputeGeomPathLength(G4double)' : 
            total(I)=1.49e+07, calls=4.58e+07, percall=0.33, %class(I)=7.9119%, %app(I)=6.3925%, %app(E)=6.3925%
            total(E)=1.49e+07, percall=0.33, %class(E)=7.9119%, %app(E)=6.3925%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : 
            total(I)=1.60e+07, calls=4.58e+07, percall=0.35, %class(I)=8.4877%, %app(I)=6.8577%, %app(E)=0.4652%
            total(E)=1.08e+06, percall=0.02, %class(E)=0.5758%, %app(E)=0.4652%

Class 'G4UniversalFluctuation' : total(E) = 6.35e+07, total(I) = 6.35e+07, %app(I) = 27.2638%, %app(E) = 27.2638%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : 
            total(I)=6.35e+07, calls=1.56e+07, percall=4.07, %class(I)=100.0000%, %app(I)=27.2638%, %app(E)=27.2638%
            total(E)=6.35e+07, percall=4.07, %class(E)=100.0000%, %app(E)=27.2638%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : total(E) = 2.54e+06, total(I) = 1.02e+08, %app(I) = 43.7644%, %app(E) = 1.0910%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.02e+08, calls=4.69e+07, percall=2.17, %class(I)=100.0000%, %app(I)=43.7644%, %app(E)=1.0910%
            total(E)=2.54e+06, percall=0.05, %class(E)=2.4928%, %app(E)=1.0910%

Class 'G4VEmProcess' : total(E) = 1.25e+05, total(I) = 1.97e+07, %app(I) = 8.4498%, %app(E) = 0.0536%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : 
            total(I)=1.97e+07, calls=3.05e+07, percall=0.64, %class(I)=100.0000%, %app(I)=8.4498%, %app(E)=0.0536%
            total(E)=1.25e+05, percall=0.00, %class(E)=0.6339%, %app(E)=0.0536%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : total(E) = 0.00e+00, total(I) = 6.35e+07, %app(I) = 27.2638%, %app(E) = 0.0000%

Class 'G4PhysicsVector' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

Class 'G4VParticleChange=>G4ParticleChange' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

Class 'G4Physics2DVector' : total(E) = 0.00e+00, total(I) = 0.00e+00, %app(I) = 0.0000%, %app(E) = 0.0000%

All other classes (E): 5.12e+07, (I): 4.02e+08, application total : 2.33e+08
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_VEC_SP

The following table lists the percentage of single-precision vector instructions of all floating-point instructions for each class and function.

Percentage of single-precision vector instructions of all floating-point instructions
Class 'G4UniversalFluctuation' : Exclusive = 0.6758%, Inclusive = 0.6758%
     Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : Exclusive = 0.6758%, Inclusive = 0.6758%

Class 'G4UrbanMscModel' : Exclusive = 0.5551%, Inclusive = 0.5113%
     Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : Exclusive = 0.0152%, Inclusive = 0.1116%
     Function 'ComputeGeomPathLength(G4double)' : Exclusive = 0.5770%, Inclusive = 0.4219%
     Function 'SampleCosineTheta(G4double, G4double)' : Exclusive = 0.8874%, Inclusive = 0.8299%
     Function 'SampleScattering(const G4ThreeVector &, G4double)' : Exclusive = 0.9144%, Inclusive = 0.8291%

Class 'G4VContinuousDiscreteProcess=>G4VMultipleScattering' : Exclusive = 0.1121%, Inclusive = 0.7096%

Class 'G4VEmProcess' : Exclusive = 0.0011%, Inclusive = 0.0865%
     Function 'PostStepDoIt(const G4Track &, const G4Step &)' : Exclusive = 0.0042%, Inclusive = 0.1897%

Class 'G4VContinuousDiscreteProcess=>G4VEnergyLossProcess' : Exclusive = 0.0000%, Inclusive = 0.2815%

Class 'G4PhysicsVector' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4Physics2DVector' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VParticleChange=>G4ParticleChange' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VMultipleScattering' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4ParticleChange' : Exclusive = 0.0000%, Inclusive = 0.0000%

Class 'G4VEnergyLossProcess' : Exclusive = 0.0000%, Inclusive = 0.0000%
END Percentage of single-precision vector instructions of all floating-point instructions

Derived metrics

The following data is for metrics computed based on the raw counts, including a number of rates: cycles per instruction, L1 data miss rate, and L2 data miss rate.

Efficiency as measured by cycles per instruction .

Lower CPI is better. The application's average is 1.27

Class 'G4VMultipleScattering' : total = 1.48e+00, % application = 116.68%
    Function 'G4VMultipleScattering(const G4String &, G4ProcessType)' : total = 1.96e+00, calls = 2.00e+00, percall = 0.98, %class = 132.42%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 1.90e+00, calls = 2.00e+00, percall = 0.95, %class = 128.87%
    Function '~G4VMultipleScattering()' : total = 1.87e+00, calls = 2.00e+00, percall = 0.94, %class = 126.57%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 1.61e+00, calls = 2.00e+00, percall = 0.80, %class = 108.88%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 1.60e+00, calls = 6.00e+00, percall = 0.27, %class = 108.17%
    Function 'SetEmModel(G4VMscModel *, G4int)' : total = 1.45e+00, calls = 2.00e+00, percall = 0.72, %class = 97.84%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.35e+00, calls = 4.69e+07, percall = 0.00, %class = 91.22%
    Function 'StartTracking(G4Track *)' : total = 1.31e+00, calls = 3.17e+07, percall = 0.00, %class = 88.78%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 1.29e+00, calls = 4.69e+07, percall = 0.00, %class = 87.37%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.28e+00, calls = 4.69e+07, percall = 0.00, %class = 86.57%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.22e+00, calls = 1.61e+07, percall = 0.00, %class = 82.86%
    Function 'GetModelByIndex(G4int, G4bool)' : total = 1.20e+00, calls = 9.51e+07, percall = 0.00, %class = 81.19%
    Function 'EmModel(G4int)' : total = 1.17e+00, calls = 4.00e+00, percall = 0.29, %class = 79.27%

Class 'G4VEmProcess' : total = 1.47e+00, % application = 116.38%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 2.13e+00, calls = 6.00e+00, percall = 0.36, %class = 144.65%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 1.79e+00, calls = 6.00e+00, percall = 0.30, %class = 121.35%
    Function '~G4VEmProcess()' : total = 1.78e+00, calls = 6.00e+00, percall = 0.30, %class = 120.63%
    Function 'BuildLambdaTable()' : total = 1.64e+00, calls = 5.00e+00, percall = 0.33, %class = 111.56%
    Function 'G4VEmProcess(const G4String &, G4ProcessType)' : total = 1.64e+00, calls = 6.00e+00, percall = 0.27, %class = 110.95%
    Function 'PrintInfoProcess(const G4ParticleDefinition &)' : total = 1.63e+00, calls = 6.00e+00, percall = 0.27, %class = 110.48%
    Function 'FindLambdaMax()' : total = 1.43e+00, calls = 4.00e+00, percall = 0.36, %class = 96.88%
    Function 'SetMinKinEnergy(G4double)' : total = 1.42e+00, calls = 4.00e+00, percall = 0.35, %class = 96.14%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.39e+00, calls = 3.05e+07, percall = 0.00, %class = 94.08%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.32e+00, calls = 1.61e+08, percall = 0.00, %class = 89.65%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 1.23e+00, calls = 7.00e+00, percall = 0.18, %class = 83.47%
    Function 'EmModel(G4int)' : total = 1.21e+00, calls = 2.50e+01, percall = 0.05, %class = 82.31%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 1.19e+00, calls = 7.00e+00, percall = 0.17, %class = 80.39%
    Function 'StartTracking(G4Track *)' : total = 1.17e+00, calls = 6.19e+07, percall = 0.00, %class = 79.64%
    Function 'Clear()' : total = 1.15e+00, calls = 6.00e+00, percall = 0.19, %class = 77.81%

Class 'G4VMscModel' : total = 1.44e+00, % application = 113.49%
    Function 'GetParticleChangeForMSC(const G4ParticleDefinition *)' : total = 1.64e+00, calls = 4.00e+00, percall = 0.41, %class = 113.75%
    Function 'G4VMscModel(const G4String &)' : total = 1.24e+00, calls = 6.00e+00, percall = 0.21, %class = 86.25%

Class 'G4VEnergyLossProcess' : total = 1.41e+00, % application = 111.64%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 2.20e+00, calls = 4.00e+00, percall = 0.55, %class = 155.42%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 1.82e+00, calls = 4.00e+00, percall = 0.45, %class = 128.37%
    Function 'G4VEnergyLossProcess(const G4String &, G4ProcessType)' : total = 1.80e+00, calls = 4.00e+00, percall = 0.45, %class = 127.60%
    Function 'BuildDEDXTable(G4EmTableType)' : total = 1.68e+00, calls = 4.00e+00, percall = 0.42, %class = 119.04%
    Function 'BuildLambdaTable(G4EmTableType)' : total = 1.57e+00, calls = 4.00e+00, percall = 0.39, %class = 110.75%
    Function 'SetDEDXTable(G4PhysicsTable *, G4EmTableType)' : total = 1.50e+00, calls = 8.00e+00, percall = 0.19, %class = 106.35%
    Function 'SetLambdaTable(G4PhysicsTable *)' : total = 1.42e+00, calls = 4.00e+00, percall = 0.36, %class = 100.72%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.41e+00, calls = 8.93e+06, percall = 0.00, %class = 99.79%
    Function 'Clean()' : total = 1.41e+00, calls = 8.00e+00, percall = 0.18, %class = 99.58%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.38e+00, calls = 9.39e+07, percall = 0.00, %class = 97.35%
    Function 'PrintInfoDefinition(const G4ParticleDefinition &)' : total = 1.36e+00, calls = 4.00e+00, percall = 0.34, %class = 96.09%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.34e+00, calls = 4.69e+07, percall = 0.00, %class = 95.09%
    Function 'SetRangeTableForLoss(G4PhysicsTable *)' : total = 1.29e+00, calls = 2.00e+00, percall = 0.65, %class = 91.26%
    Function 'AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *, const G4Region *)' : total = 1.28e+00, calls = 6.00e+00, percall = 0.21, %class = 90.84%
    Function 'StartTracking(G4Track *)' : total = 1.27e+00, calls = 6.34e+07, percall = 0.00, %class = 89.78%
    Function 'MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *, G4double)' : total = 1.26e+00, calls = 8.00e+00, percall = 0.16, %class = 89.19%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 1.23e+00, calls = 4.69e+07, percall = 0.00, %class = 87.27%
    Function 'SetSecondaryRangeTable(G4PhysicsTable *)' : total = 1.23e+00, calls = 2.00e+00, percall = 0.62, %class = 86.98%
    Function 'EmModel(G4int)' : total = 1.23e+00, calls = 3.60e+01, percall = 0.03, %class = 86.73%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 1.20e+00, calls = 6.00e+00, percall = 0.20, %class = 84.87%
    Function 'SetInverseRangeTable(G4PhysicsTable *)' : total = 1.17e+00, calls = 2.00e+00, percall = 0.58, %class = 82.68%
    Function '~G4VEnergyLossProcess()' : total = 1.05e+00, calls = 4.00e+00, percall = 0.26, %class = 74.24%

Class 'G4VEmModel' : total = 1.36e+00, % application = 106.98%
    Function '~G4VEmModel()' : total = 2.18e+00, calls = 1.90e+01, percall = 0.11, %class = 161.09%
    Function 'GetParticleChangeForLoss()' : total = 1.44e+00, calls = 6.00e+00, percall = 0.24, %class = 106.17%
    Function 'G4VEmModel(const G4String &)' : total = 1.43e+00, calls = 1.90e+01, percall = 0.08, %class = 105.80%
    Function 'InitialiseElementSelectors(const G4ParticleDefinition *, const G4DataVector &)' : total = 1.43e+00, calls = 9.00e+00, percall = 0.16, %class = 105.34%
    Function 'CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 1.42e+00, calls = 8.13e+03, percall = 0.00, %class = 104.96%
    Function 'SelectRandomAtom(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 1.29e+00, calls = 9.77e+06, percall = 0.00, %class = 94.84%
    Function 'Value(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double)' : total = 1.25e+00, calls = 6.32e+02, percall = 0.00, %class = 91.93%
    Function 'MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *)' : total = 1.15e+00, calls = 6.80e+01, percall = 0.02, %class = 84.95%
    Function 'MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double)' : total = 1.11e+00, calls = 2.80e+01, percall = 0.04, %class = 82.26%
    Function 'GetParticleChangeForGamma()' : total = 1.11e+00, calls = 7.00e+00, percall = 0.16, %class = 81.74%
    Function 'SetParticleChange(G4VParticleChange *, G4VEmFluctuationModel *)' : total = 1.10e+00, calls = 1.90e+01, percall = 0.06, %class = 80.91%

Class 'G4UrbanMscModel' : total = 1.32e+00, % application = 104.24%
    Function 'ComputeGeomPathLength(G4double)' : total = 1.42e+00, calls = 4.58e+07, percall = 0.00, %class = 107.40%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : total = 1.41e+00, calls = 1.44e+07, percall = 0.00, %class = 106.94%
    Function 'SampleCosineTheta(G4double, G4double)' : total = 1.39e+00, calls = 1.44e+07, percall = 0.00, %class = 105.41%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : total = 1.39e+00, calls = 4.58e+07, percall = 0.00, %class = 105.10%
    Function 'Initialise(const G4ParticleDefinition *, const G4DataVector &)' : total = 1.34e+00, calls = 2.00e+00, percall = 0.67, %class = 101.19%
    Function 'G4UrbanMscModel(const G4String &)' : total = 1.26e+00, calls = 4.00e+00, percall = 0.32, %class = 95.71%
    Function 'StartTracking(G4Track *)' : total = 1.24e+00, calls = 6.34e+07, percall = 0.00, %class = 94.14%
    Function 'ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double, G4double, G4double, G4double, G4double)' : total = 1.22e+00, calls = 5.16e+02, percall = 0.00, %class = 92.48%
    Function 'ComputeTrueStepLength(G4double)' : total = 1.21e+00, calls = 4.58e+07, percall = 0.00, %class = 91.63%

Class 'G4VProcess' : total = 1.30e+00, % application = 102.23%
    Function 'SetMasterProcess(G4VProcess *)' : total = 1.44e+00, calls = 1.30e+01, percall = 0.11, %class = 111.21%
    Function 'GetProcessTypeName(G4ProcessType)' : total = 1.41e+00, calls = 2.10e+01, percall = 0.07, %class = 109.03%
    Function 'operator==(const G4VProcess &)' : total = 1.29e+00, calls = 1.84e+03, percall = 0.00, %class = 99.32%
    Function 'G4VProcess(const G4String &, G4ProcessType)' : total = 1.26e+00, calls = 1.30e+01, percall = 0.10, %class = 97.50%
    Function '~G4VProcess()' : total = 1.26e+00, calls = 1.20e+01, percall = 0.10, %class = 97.21%
    Function 'StartTracking(G4Track *)' : total = 1.23e+00, calls = 4.15e+07, percall = 0.00, %class = 95.18%
    Function 'EndTracking()' : total = 1.17e+00, calls = 1.98e+08, percall = 0.00, %class = 90.56%

Class 'G4UniversalFluctuation' : total = 1.24e+00, % application = 98.12%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : total = 1.27e+00, calls = 1.56e+07, percall = 0.00, %class = 102.56%
    Function 'InitialiseMe(const G4ParticleDefinition *)' : total = 1.26e+00, calls = 2.00e+00, percall = 0.63, %class = 101.62%
    Function 'G4UniversalFluctuation(const G4String &)' : total = 1.19e+00, calls = 2.00e+00, percall = 0.60, %class = 95.82%

Class 'G4PhysicsVector' : total = 1.24e+00, % application = 97.84%
    Function 'FillSecondDerivatives()' : total = 1.74e+00, calls = 1.61e+02, percall = 0.01, %class = 140.03%
    Function 'G4PhysicsVector(const G4PhysicsVector &)' : total = 1.34e+00, calls = 5.20e+01, percall = 0.03, %class = 108.21%
    Function 'Value(G4double, size_t &)' : total = 1.30e+00, calls = 3.71e+08, percall = 0.00, %class = 104.67%
    Function 'G4PhysicsVector(G4bool)' : total = 1.25e+00, calls = 2.12e+02, percall = 0.01, %class = 100.52%
    Function 'GetLowEdgeEnergy(size_t)' : total = 1.16e+00, calls = 4.14e+03, percall = 0.00, %class = 93.38%
    Function 'DeleteData()' : total = 1.14e+00, calls = 5.20e+01, percall = 0.02, %class = 92.34%
    Function 'SplinePossible()' : total = 1.08e+00, calls = 1.61e+02, percall = 0.01, %class = 87.21%
    Function 'CopyData(const G4PhysicsVector &)' : total = 9.13e-01, calls = 5.20e+01, percall = 0.02, %class = 73.62%

Class 'G4PhysicsLogVector' : total = 9.09e-01, % application = 71.76%
    Function 'G4PhysicsLogVector(G4double, G4double, size_t)' : total = 9.09e-01, calls = 2.01e+02, percall = 0.00, %class = 100.00%

All other classes : application total : 1.27e+00
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: CPI

Data cache misses

In this section we include data cache miss rate computed as the number of misses divided by the total number of accesses to each level of cache.

  • L1 load miss rate (lower is better), L1 misses / Total loads
    These measurements were obtained with selective profiling of only the classes in Table 1. The overall application rate is 11.8%.
Class 'G4VEmProcess' : total = 1.33e-01, % application = 113.43%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.35e-01, calls = 3.05e+07, percall = 0.00, %class = 101.08%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.32e-01, calls = 1.61e+08, percall = 0.00, %class = 98.92%

Class 'G4PhysicsVector' : total = 1.33e-01, % application = 113.42%
    Function 'Value(G4double, size_t &)' : total = 1.33e-01, calls = 3.71e+08, percall = 0.00, %class = 100.00%

Class 'G4VEnergyLossProcess' : total = 1.17e-01, % application = 99.42%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.21e-01, calls = 9.39e+07, percall = 0.00, %class = 103.08%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.13e-01, calls = 4.69e+07, percall = 0.00, %class = 96.92%

Class 'G4UrbanMscModel' : total = 1.16e-01, % application = 98.90%
    Function 'ComputeGeomPathLength(G4double)' : total = 1.20e-01, calls = 4.58e+07, percall = 0.00, %class = 103.13%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : total = 1.18e-01, calls = 4.58e+07, percall = 0.00, %class = 101.41%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : total = 1.14e-01, calls = 1.44e+07, percall = 0.00, %class = 98.22%
    Function 'SampleCosineTheta(G4double, G4double)' : total = 1.13e-01, calls = 1.44e+07, percall = 0.00, %class = 97.25%

Class 'G4VMultipleScattering' : total = 1.13e-01, % application = 95.69%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.13e-01, calls = 4.69e+07, percall = 0.00, %class = 100.00%

Class 'G4UniversalFluctuation' : total = 8.33e-02, % application = 70.88%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : total = 8.33e-02, calls = 1.56e+07, percall = 0.00, %class = 100.00%

All other classes : 3.23e+00, application total : 1.18e-01
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: L1_MRATE
  • L2 miss rate (lower is better): L2 misses / L2 data accesses

The overall application L2 miss rate is 0.14 (or 14%).

Class 'G4VEmProcess' : total = 2.63e-01, % application = 188.01%
    Function 'FindLambdaMax()' : total = 4.68e-01, calls = 4.00e+00, percall = 0.12, %class = 177.63%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 4.61e-01, calls = 6.00e+00, percall = 0.08, %class = 175.23%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 3.99e-01, calls = 6.00e+00, percall = 0.07, %class = 151.41%
    Function 'G4VEmProcess(const G4String &, G4ProcessType)' : total = 3.29e-01, calls = 6.00e+00, percall = 0.05, %class = 125.03%
    Function 'BuildLambdaTable()' : total = 3.03e-01, calls = 5.00e+00, percall = 0.06, %class = 114.99%
    Function '~G4VEmProcess()' : total = 2.58e-01, calls = 6.00e+00, percall = 0.04, %class = 97.90%
    Function 'PrintInfoProcess(const G4ParticleDefinition &)' : total = 2.47e-01, calls = 6.00e+00, percall = 0.04, %class = 93.85%
    Function 'SetMinKinEnergy(G4double)' : total = 2.36e-01, calls = 4.00e+00, percall = 0.06, %class = 89.66%
    Function 'Clear()' : total = 2.34e-01, calls = 6.00e+00, percall = 0.04, %class = 88.71%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 2.08e-01, calls = 7.00e+00, percall = 0.03, %class = 78.93%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 2.06e-01, calls = 7.00e+00, percall = 0.03, %class = 78.20%
    Function 'EmModel(G4int)' : total = 1.92e-01, calls = 2.50e+01, percall = 0.01, %class = 72.79%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.89e-01, calls = 3.05e+07, percall = 0.00, %class = 71.73%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.31e-01, calls = 1.61e+08, percall = 0.00, %class = 49.64%
    Function 'StartTracking(G4Track *)' : total = 9.03e-02, calls = 6.19e+07, percall = 0.00, %class = 34.29%

Class 'G4VMscModel' : total = 2.62e-01, % application = 186.92%
    Function 'GetParticleChangeForMSC(const G4ParticleDefinition *)' : total = 3.59e-01, calls = 4.00e+00, percall = 0.09, %class = 137.20%
    Function 'G4VMscModel(const G4String &)' : total = 1.64e-01, calls = 6.00e+00, percall = 0.03, %class = 62.80%

Class 'G4VEnergyLossProcess' : total = 2.59e-01, % application = 185.04%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 5.40e-01, calls = 4.00e+00, percall = 0.13, %class = 208.38%
    Function 'SetLambdaTable(G4PhysicsTable *)' : total = 4.54e-01, calls = 4.00e+00, percall = 0.11, %class = 175.07%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 4.35e-01, calls = 4.00e+00, percall = 0.11, %class = 167.73%
    Function 'SetDEDXTable(G4PhysicsTable *, G4EmTableType)' : total = 3.65e-01, calls = 8.00e+00, percall = 0.05, %class = 141.00%
    Function 'G4VEnergyLossProcess(const G4String &, G4ProcessType)' : total = 3.55e-01, calls = 4.00e+00, percall = 0.09, %class = 137.06%
    Function 'BuildDEDXTable(G4EmTableType)' : total = 3.50e-01, calls = 4.00e+00, percall = 0.09, %class = 135.04%
    Function 'SetRangeTableForLoss(G4PhysicsTable *)' : total = 3.43e-01, calls = 2.00e+00, percall = 0.17, %class = 132.28%
    Function 'SetSecondaryRangeTable(G4PhysicsTable *)' : total = 3.23e-01, calls = 2.00e+00, percall = 0.16, %class = 124.74%
    Function 'Clean()' : total = 2.82e-01, calls = 8.00e+00, percall = 0.04, %class = 108.91%
    Function 'BuildLambdaTable(G4EmTableType)' : total = 2.69e-01, calls = 4.00e+00, percall = 0.07, %class = 103.83%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 2.62e-01, calls = 8.93e+06, percall = 0.00, %class = 101.16%
    Function 'MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *, G4double)' : total = 2.61e-01, calls = 8.00e+00, percall = 0.03, %class = 100.73%
    Function 'AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *, const G4Region *)' : total = 2.49e-01, calls = 6.00e+00, percall = 0.04, %class = 95.95%
    Function 'SetInverseRangeTable(G4PhysicsTable *)' : total = 2.24e-01, calls = 2.00e+00, percall = 0.11, %class = 86.45%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 1.97e-01, calls = 6.00e+00, percall = 0.03, %class = 76.01%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.75e-01, calls = 9.39e+07, percall = 0.00, %class = 67.38%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.50e-01, calls = 4.69e+07, percall = 0.00, %class = 57.76%
    Function 'EmModel(G4int)' : total = 1.44e-01, calls = 3.60e+01, percall = 0.00, %class = 55.65%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 1.20e-01, calls = 4.69e+07, percall = 0.00, %class = 46.25%
    Function 'StartTracking(G4Track *)' : total = 1.20e-01, calls = 6.34e+07, percall = 0.00, %class = 46.12%
    Function 'PrintInfoDefinition(const G4ParticleDefinition &)' : total = 6.88e-02, calls = 4.00e+00, percall = 0.02, %class = 26.57%
    Function '~G4VEnergyLossProcess()' : total = 1.53e-02, calls = 4.00e+00, percall = 0.00, %class = 5.92%

Class 'G4VMultipleScattering' : total = 2.52e-01, % application = 180.00%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 4.52e-01, calls = 2.00e+00, percall = 0.23, %class = 179.46%
    Function 'G4VMultipleScattering(const G4String &, G4ProcessType)' : total = 4.37e-01, calls = 2.00e+00, percall = 0.22, %class = 173.25%
    Function '~G4VMultipleScattering()' : total = 4.26e-01, calls = 2.00e+00, percall = 0.21, %class = 169.06%
    Function 'SetEmModel(G4VMscModel *, G4int)' : total = 3.35e-01, calls = 2.00e+00, percall = 0.17, %class = 132.74%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 3.17e-01, calls = 6.00e+00, percall = 0.05, %class = 125.89%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 2.81e-01, calls = 2.00e+00, percall = 0.14, %class = 111.60%
    Function 'EmModel(G4int)' : total = 2.16e-01, calls = 4.00e+00, percall = 0.05, %class = 85.67%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 1.68e-01, calls = 4.69e+07, percall = 0.00, %class = 66.58%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 1.59e-01, calls = 1.61e+07, percall = 0.00, %class = 63.16%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 1.51e-01, calls = 4.69e+07, percall = 0.00, %class = 59.86%
    Function 'StartTracking(G4Track *)' : total = 1.34e-01, calls = 3.17e+07, percall = 0.00, %class = 53.31%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 1.15e-01, calls = 4.69e+07, percall = 0.00, %class = 45.57%
    Function 'GetModelByIndex(G4int, G4bool)' : total = 8.53e-02, calls = 9.51e+07, percall = 0.00, %class = 33.85%

Class 'G4VEmModel' : total = 2.23e-01, % application = 159.14%
    Function 'GetParticleChangeForLoss()' : total = 4.67e-01, calls = 6.00e+00, percall = 0.08, %class = 209.39%
    Function '~G4VEmModel()' : total = 3.02e-01, calls = 1.90e+01, percall = 0.02, %class = 135.36%
    Function 'SelectRandomAtom(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 2.75e-01, calls = 9.77e+06, percall = 0.00, %class = 123.36%
    Function 'G4VEmModel(const G4String &)' : total = 2.71e-01, calls = 1.90e+01, percall = 0.01, %class = 121.73%
    Function 'InitialiseElementSelectors(const G4ParticleDefinition *, const G4DataVector &)' : total = 2.36e-01, calls = 9.00e+00, percall = 0.03, %class = 106.01%
    Function 'CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 2.22e-01, calls = 8.13e+03, percall = 0.00, %class = 99.81%
    Function 'GetParticleChangeForGamma()' : total = 2.19e-01, calls = 7.00e+00, percall = 0.03, %class = 98.39%
    Function 'SetParticleChange(G4VParticleChange *, G4VEmFluctuationModel *)' : total = 1.75e-01, calls = 1.90e+01, percall = 0.01, %class = 78.48%
    Function 'MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double)' : total = 1.65e-01, calls = 2.80e+01, percall = 0.01, %class = 74.18%
    Function 'MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *)' : total = 1.07e-01, calls = 6.80e+01, percall = 0.00, %class = 47.80%
    Function 'Value(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double)' : total = 1.23e-02, calls = 6.32e+02, percall = 0.00, %class = 5.50%

Class 'G4PhysicsLogVector' : total = 2.04e-01, % application = 145.86%
    Function 'G4PhysicsLogVector(G4double, G4double, size_t)' : total = 2.04e-01, calls = 2.01e+02, percall = 0.00, %class = 100.00%

Class 'G4UniversalFluctuation' : total = 1.90e-01, % application = 136.03%
    Function 'G4UniversalFluctuation(const G4String &)' : total = 2.87e-01, calls = 2.00e+00, percall = 0.14, %class = 150.44%
    Function 'InitialiseMe(const G4ParticleDefinition *)' : total = 2.53e-01, calls = 2.00e+00, percall = 0.13, %class = 132.82%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : total = 3.19e-02, calls = 1.56e+07, percall = 0.00, %class = 16.74%

Class 'G4PhysicsVector' : total = 1.78e-01, % application = 127.36%
    Function 'G4PhysicsVector(const G4PhysicsVector &)' : total = 2.57e-01, calls = 5.20e+01, percall = 0.00, %class = 143.97%
    Function 'CopyData(const G4PhysicsVector &)' : total = 2.47e-01, calls = 5.20e+01, percall = 0.00, %class = 138.58%
    Function 'DeleteData()' : total = 2.07e-01, calls = 5.20e+01, percall = 0.00, %class = 115.89%
    Function 'Value(G4double, size_t &)' : total = 2.02e-01, calls = 3.71e+08, percall = 0.00, %class = 113.04%
    Function 'FillSecondDerivatives()' : total = 1.89e-01, calls = 1.61e+02, percall = 0.00, %class = 105.79%
    Function 'SplinePossible()' : total = 1.79e-01, calls = 1.61e+02, percall = 0.00, %class = 100.38%
    Function 'G4PhysicsVector(G4bool)' : total = 1.42e-01, calls = 2.12e+02, percall = 0.00, %class = 79.62%
    Function 'GetLowEdgeEnergy(size_t)' : total = 4.88e-03, calls = 4.14e+03, percall = 0.00, %class = 2.74%

Class 'G4UrbanMscModel' : total = 1.65e-01, % application = 117.71%
    Function 'Initialise(const G4ParticleDefinition *, const G4DataVector &)' : total = 3.51e-01, calls = 2.00e+00, percall = 0.18, %class = 212.91%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : total = 2.14e-01, calls = 4.58e+07, percall = 0.00, %class = 129.76%
    Function 'G4UrbanMscModel(const G4String &)' : total = 2.07e-01, calls = 4.00e+00, percall = 0.05, %class = 125.89%
    Function 'ComputeGeomPathLength(G4double)' : total = 1.89e-01, calls = 4.58e+07, percall = 0.00, %class = 114.86%
    Function 'SampleCosineTheta(G4double, G4double)' : total = 1.48e-01, calls = 1.44e+07, percall = 0.00, %class = 89.85%
    Function 'ComputeTrueStepLength(G4double)' : total = 1.28e-01, calls = 4.58e+07, percall = 0.00, %class = 77.86%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : total = 1.23e-01, calls = 1.44e+07, percall = 0.00, %class = 74.81%
    Function 'StartTracking(G4Track *)' : total = 1.12e-01, calls = 6.34e+07, percall = 0.00, %class = 68.13%
    Function 'ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double, G4double, G4double, G4double, G4double)' : total = 9.75e-03, calls = 5.16e+02, percall = 0.00, %class = 5.92%

Class 'G4VProcess' : total = 1.49e-01, % application = 106.36%
    Function 'SetMasterProcess(G4VProcess *)' : total = 3.64e-01, calls = 1.30e+01, percall = 0.03, %class = 244.10%
    Function 'GetProcessTypeName(G4ProcessType)' : total = 1.98e-01, calls = 2.10e+01, percall = 0.01, %class = 132.68%
    Function 'StartTracking(G4Track *)' : total = 1.58e-01, calls = 4.15e+07, percall = 0.00, %class = 106.27%
    Function 'G4VProcess(const G4String &, G4ProcessType)' : total = 1.52e-01, calls = 1.30e+01, percall = 0.01, %class = 102.11%
    Function '~G4VProcess()' : total = 1.08e-01, calls = 1.20e+01, percall = 0.01, %class = 72.59%
    Function 'EndTracking()' : total = 4.14e-02, calls = 1.98e+08, percall = 0.00, %class = 27.83%
    Function 'operator==(const G4VProcess &)' : total = 2.15e-02, calls = 1.84e+03, percall = 0.00, %class = 14.42%

Application total : 1.40e-01
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: L2_MRATE

Instruction cache misses

Instruction cache miss rates can be higher in the presence of aggressive code optimizations.

Below are the L1 instruction cache miss rates computed as L1 instruction cache misses / total number of instructions. The overall application rate is 7.4% and most of the classes we consider are about average or below average for the application.

Class 'G4VProcess' : total = 7.61e-02, % application = 102.79%
    Function 'GetProcessTypeName(G4ProcessType)' : total = 9.06e-02, calls = 2.10e+01, percall = 0.00, %class = 119.11%
    Function '~G4VProcess()' : total = 8.48e-02, calls = 1.20e+01, percall = 0.01, %class = 111.51%
    Function 'G4VProcess(const G4String &, G4ProcessType)' : total = 8.09e-02, calls = 1.30e+01, percall = 0.01, %class = 106.36%
    Function 'operator==(const G4VProcess &)' : total = 7.51e-02, calls = 1.84e+03, percall = 0.00, %class = 98.82%
    Function 'SetMasterProcess(G4VProcess *)' : total = 6.83e-02, calls = 1.30e+01, percall = 0.01, %class = 89.83%
    Function 'EndTracking()' : total = 6.81e-02, calls = 1.98e+08, percall = 0.00, %class = 89.61%
    Function 'StartTracking(G4Track *)' : total = 6.45e-02, calls = 4.15e+07, percall = 0.00, %class = 84.76%

Class 'G4UrbanMscModel' : total = 7.47e-02, % application = 100.95%
    Function 'SampleCosineTheta(G4double, G4double)' : total = 9.19e-02, calls = 1.44e+07, percall = 0.00, %class = 123.09%
    Function 'SampleScattering(const G4ThreeVector &, G4double)' : total = 8.60e-02, calls = 1.44e+07, percall = 0.00, %class = 115.17%
    Function 'ComputeGeomPathLength(G4double)' : total = 8.02e-02, calls = 4.58e+07, percall = 0.00, %class = 107.45%
    Function 'ComputeTruePathLengthLimit(const G4Track &, G4double &)' : total = 7.95e-02, calls = 4.58e+07, percall = 0.00, %class = 106.51%
    Function 'ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double, G4double, G4double, G4double, G4double)' : total = 7.81e-02, calls = 5.16e+02, percall = 0.00, %class = 104.57%
    Function 'StartTracking(G4Track *)' : total = 7.50e-02, calls = 6.34e+07, percall = 0.00, %class = 100.38%
    Function 'ComputeTrueStepLength(G4double)' : total = 7.06e-02, calls = 4.58e+07, percall = 0.00, %class = 94.53%
    Function 'G4UrbanMscModel(const G4String &)' : total = 6.38e-02, calls = 4.00e+00, percall = 0.02, %class = 85.43%
    Function 'Initialise(const G4ParticleDefinition *, const G4DataVector &)' : total = 4.70e-02, calls = 2.00e+00, percall = 0.02, %class = 62.87%

Class 'G4VEmProcess' : total = 7.20e-02, % application = 97.36%
    Function 'G4VEmProcess(const G4String &, G4ProcessType)' : total = 9.48e-02, calls = 6.00e+00, percall = 0.02, %class = 131.56%
    Function 'BuildLambdaTable()' : total = 8.79e-02, calls = 5.00e+00, percall = 0.02, %class = 121.96%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 8.65e-02, calls = 6.00e+00, percall = 0.01, %class = 120.13%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 8.39e-02, calls = 3.05e+07, percall = 0.00, %class = 116.46%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 8.29e-02, calls = 6.00e+00, percall = 0.01, %class = 115.16%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 8.20e-02, calls = 1.61e+08, percall = 0.00, %class = 113.79%
    Function 'PrintInfoProcess(const G4ParticleDefinition &)' : total = 7.80e-02, calls = 6.00e+00, percall = 0.01, %class = 108.33%
    Function '~G4VEmProcess()' : total = 7.55e-02, calls = 6.00e+00, percall = 0.01, %class = 104.81%
    Function 'StartTracking(G4Track *)' : total = 6.88e-02, calls = 6.19e+07, percall = 0.00, %class = 95.53%
    Function 'SetMinKinEnergy(G4double)' : total = 6.72e-02, calls = 4.00e+00, percall = 0.02, %class = 93.35%
    Function 'EmModel(G4int)' : total = 5.67e-02, calls = 2.50e+01, percall = 0.00, %class = 78.74%
    Function 'Clear()' : total = 5.46e-02, calls = 6.00e+00, percall = 0.01, %class = 75.84%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 5.42e-02, calls = 7.00e+00, percall = 0.01, %class = 75.18%
    Function 'FindLambdaMax()' : total = 5.37e-02, calls = 4.00e+00, percall = 0.01, %class = 74.60%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 5.37e-02, calls = 7.00e+00, percall = 0.01, %class = 74.57%

Class 'G4VMultipleScattering' : total = 6.97e-02, % application = 94.19%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 8.38e-02, calls = 4.69e+07, percall = 0.00, %class = 120.30%
    Function 'StartTracking(G4Track *)' : total = 8.15e-02, calls = 3.17e+07, percall = 0.00, %class = 117.01%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 8.14e-02, calls = 2.00e+00, percall = 0.04, %class = 116.87%
    Function '~G4VMultipleScattering()' : total = 7.86e-02, calls = 2.00e+00, percall = 0.04, %class = 112.76%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 7.57e-02, calls = 4.69e+07, percall = 0.00, %class = 108.68%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 7.46e-02, calls = 4.69e+07, percall = 0.00, %class = 107.12%
    Function 'GetModelByIndex(G4int, G4bool)' : total = 6.95e-02, calls = 9.51e+07, percall = 0.00, %class = 99.72%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 6.85e-02, calls = 1.61e+07, percall = 0.00, %class = 98.23%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 6.74e-02, calls = 2.00e+00, percall = 0.03, %class = 96.69%
    Function 'AddEmModel(G4int, G4VEmModel *, const G4Region *)' : total = 6.57e-02, calls = 6.00e+00, percall = 0.01, %class = 94.30%
    Function 'EmModel(G4int)' : total = 5.61e-02, calls = 4.00e+00, percall = 0.01, %class = 80.57%
    Function 'G4VMultipleScattering(const G4String &, G4ProcessType)' : total = 5.61e-02, calls = 2.00e+00, percall = 0.03, %class = 80.53%
    Function 'SetEmModel(G4VMscModel *, G4int)' : total = 4.68e-02, calls = 2.00e+00, percall = 0.02, %class = 67.22%

Class 'G4VEnergyLossProcess' : total = 6.69e-02, % application = 90.43%
    Function 'BuildLambdaTable(G4EmTableType)' : total = 8.99e-02, calls = 4.00e+00, percall = 0.02, %class = 134.36%
    Function 'PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)' : total = 8.84e-02, calls = 9.39e+07, percall = 0.00, %class = 132.10%
    Function 'G4VEnergyLossProcess(const G4String &, G4ProcessType)' : total = 8.83e-02, calls = 4.00e+00, percall = 0.02, %class = 131.91%
    Function 'PostStepDoIt(const G4Track &, const G4Step &)' : total = 8.74e-02, calls = 8.93e+06, percall = 0.00, %class = 130.61%
    Function 'BuildDEDXTable(G4EmTableType)' : total = 8.32e-02, calls = 4.00e+00, percall = 0.02, %class = 124.28%
    Function 'PrintInfoDefinition(const G4ParticleDefinition &)' : total = 8.10e-02, calls = 4.00e+00, percall = 0.02, %class = 121.01%
    Function 'BuildPhysicsTable(const G4ParticleDefinition &)' : total = 8.00e-02, calls = 4.00e+00, percall = 0.02, %class = 119.50%
    Function 'AlongStepDoIt(const G4Track &, const G4Step &)' : total = 7.93e-02, calls = 4.69e+07, percall = 0.00, %class = 118.51%
    Function 'AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)' : total = 7.73e-02, calls = 4.69e+07, percall = 0.00, %class = 115.51%
    Function 'StartTracking(G4Track *)' : total = 7.36e-02, calls = 6.34e+07, percall = 0.00, %class = 110.02%
    Function 'PreparePhysicsTable(const G4ParticleDefinition &)' : total = 6.97e-02, calls = 4.00e+00, percall = 0.02, %class = 104.25%
    Function 'SetDEDXTable(G4PhysicsTable *, G4EmTableType)' : total = 6.47e-02, calls = 8.00e+00, percall = 0.01, %class = 96.72%
    Function 'Clean()' : total = 6.40e-02, calls = 8.00e+00, percall = 0.01, %class = 95.65%
    Function 'EmModel(G4int)' : total = 6.25e-02, calls = 3.60e+01, percall = 0.00, %class = 93.37%
    Function 'AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *, const G4Region *)' : total = 6.04e-02, calls = 6.00e+00, percall = 0.01, %class = 90.23%
    Function 'MinPrimaryEnergy(const G4ParticleDefinition *, const G4Material *, G4double)' : total = 5.83e-02, calls = 8.00e+00, percall = 0.01, %class = 87.14%
    Function 'SetEmModel(G4VEmModel *, G4int)' : total = 5.52e-02, calls = 6.00e+00, percall = 0.01, %class = 82.50%
    Function 'SetLambdaTable(G4PhysicsTable *)' : total = 5.25e-02, calls = 4.00e+00, percall = 0.01, %class = 78.48%
    Function 'SetSecondaryRangeTable(G4PhysicsTable *)' : total = 5.18e-02, calls = 2.00e+00, percall = 0.03, %class = 77.40%
    Function 'SetRangeTableForLoss(G4PhysicsTable *)' : total = 5.08e-02, calls = 2.00e+00, percall = 0.03, %class = 75.90%
    Function 'SetInverseRangeTable(G4PhysicsTable *)' : total = 4.86e-02, calls = 2.00e+00, percall = 0.02, %class = 72.71%
    Function '~G4VEnergyLossProcess()' : total = 5.25e-03, calls = 4.00e+00, percall = 0.00, %class = 7.84%

Class 'G4UniversalFluctuation' : total = 6.50e-02, % application = 87.89%
    Function 'SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double)' : total = 7.89e-02, calls = 1.56e+07, percall = 0.00, %class = 121.31%
    Function 'InitialiseMe(const G4ParticleDefinition *)' : total = 6.34e-02, calls = 2.00e+00, percall = 0.03, %class = 97.57%
    Function 'G4UniversalFluctuation(const G4String &)' : total = 5.27e-02, calls = 2.00e+00, percall = 0.03, %class = 81.12%

Class 'G4VMscModel' : total = 6.47e-02, % application = 87.42%
    Function 'G4VMscModel(const G4String &)' : total = 6.48e-02, calls = 6.00e+00, percall = 0.01, %class = 100.16%
    Function 'GetParticleChangeForMSC(const G4ParticleDefinition *)' : total = 6.46e-02, calls = 4.00e+00, percall = 0.02, %class = 99.84%

Class 'G4VEmModel' : total = 6.21e-02, % application = 83.93%
    Function 'CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 7.41e-02, calls = 8.13e+03, percall = 0.00, %class = 119.37%
    Function '~G4VEmModel()' : total = 7.30e-02, calls = 1.90e+01, percall = 0.00, %class = 117.57%
    Function 'Value(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double)' : total = 7.23e-02, calls = 6.32e+02, percall = 0.00, %class = 116.39%
    Function 'InitialiseElementSelectors(const G4ParticleDefinition *, const G4DataVector &)' : total = 7.18e-02, calls = 9.00e+00, percall = 0.01, %class = 115.67%
    Function 'SelectRandomAtom(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double)' : total = 6.69e-02, calls = 9.77e+06, percall = 0.00, %class = 107.67%
    Function 'G4VEmModel(const G4String &)' : total = 6.56e-02, calls = 1.90e+01, percall = 0.00, %class = 105.64%
    Function 'MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *)' : total = 6.34e-02, calls = 6.80e+01, percall = 0.00, %class = 102.03%
    Function 'MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double)' : total = 5.11e-02, calls = 2.80e+01, percall = 0.00, %class = 82.35%
    Function 'GetParticleChangeForLoss()' : total = 5.10e-02, calls = 6.00e+00, percall = 0.01, %class = 82.13%
    Function 'SetParticleChange(G4VParticleChange *, G4VEmFluctuationModel *)' : total = 4.90e-02, calls = 1.90e+01, percall = 0.00, %class = 78.85%
    Function 'GetParticleChangeForGamma()' : total = 4.49e-02, calls = 7.00e+00, percall = 0.01, %class = 72.33%

Class 'G4PhysicsVector' : total = 5.67e-02, % application = 76.66%
    Function 'Value(G4double, size_t &)' : total = 7.14e-02, calls = 3.71e+08, percall = 0.00, %class = 125.90%
    Function 'GetLowEdgeEnergy(size_t)' : total = 7.10e-02, calls = 4.14e+03, percall = 0.00, %class = 125.18%
    Function 'G4PhysicsVector(G4bool)' : total = 6.64e-02, calls = 2.12e+02, percall = 0.00, %class = 117.07%
    Function 'G4PhysicsVector(const G4PhysicsVector &)' : total = 6.39e-02, calls = 5.20e+01, percall = 0.00, %class = 112.69%
    Function 'FillSecondDerivatives()' : total = 5.59e-02, calls = 1.61e+02, percall = 0.00, %class = 98.57%
    Function 'SplinePossible()' : total = 4.89e-02, calls = 1.61e+02, percall = 0.00, %class = 86.23%
    Function 'DeleteData()' : total = 4.84e-02, calls = 5.20e+01, percall = 0.00, %class = 85.33%
    Function 'CopyData(const G4PhysicsVector &)' : total = 2.78e-02, calls = 5.20e+01, percall = 0.00, %class = 49.02%

Class 'G4PhysicsLogVector' : total = 1.81e-02, % application = 24.43%
    Function 'G4PhysicsLogVector(G4double, G4double, size_t)' : total = 1.81e-02, calls = 2.01e+02, percall = 0.00, %class = 100.00%

All other classes : 3.23e+01, application total : 7.40e-02
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: L1_IMRATE
  • TLB (NEEDS UPDATE)
Class 'G4VEmProcess' : total = 2.51e+07, % application = 2.46%
    Function 'PostStepDoIt' : total = 1.31e+07, calls = 3.05e+07, percall = 0.43, %class = 51.98%
    Function 'PostStepGetPhysicalInteractionLength' : total = 1.17e+07, calls = 1.61e+08, percall = 0.07, %class = 46.41%
    Function 'StartTracking' : total = 4.04e+05, calls = 6.19e+07, percall = 0.01, %class = 1.61%
  • Branch misprediction rate (percent mispredicted branches) NEEDS UPDATE
Class 'G4VEmProcess' : total = 5.68e+01, % application = 2070%
    Function 'FindLambdaMax' : total = 4.87e+00, calls = 4.00e+00, percall = 1.22, %class = 8.57%
    Function 'BuildPhysicsTable' : total = 4.71e+00, calls = 6.00e+00, percall = 0.79, %class = 8.30%
    Function 'PreparePhysicsTable' : total = 4.57e+00, calls = 6.00e+00, percall = 0.76, %class = 8.05%
    Function 'SetMinKinEnergy' : total = 4.33e+00, calls = 4.00e+00, percall = 1.08, %class = 7.62%
    Function 'SetEmModel' : total = 4.13e+00, calls = 7.00e+00, percall = 0.59, %class = 7.27%
    Function 'G4VEmProcess' : total = 3.94e+00, calls = 6.00e+00, percall = 0.66, %class = 6.93%
    Function 'BuildLambdaTable' : total = 3.87e+00, calls = 5.00e+00, percall = 0.77, %class = 6.82%
    Function 'AddEmModel' : total = 3.85e+00, calls = 7.00e+00, percall = 0.55, %class = 6.77%
    Function '~G4VEmProcess' : total = 3.82e+00, calls = 6.00e+00, percall = 0.64, %class = 6.73%
    Function 'EmModel' : total = 3.81e+00, calls = 2.50e+01, percall = 0.15, %class = 6.71%
    Function 'Clear' : total = 3.33e+00, calls = 6.00e+00, percall = 0.56, %class = 5.87%
    Function 'PrintInfoProcess' : total = 3.17e+00, calls = 6.00e+00, percall = 0.53, %class = 5.58%
    Function 'PostStepDoIt' : total = 3.13e+00, calls = 3.05e+07, percall = 0.00, %class = 5.51%
    Function 'PostStepGetPhysicalInteractionLength' : total = 3.02e+00, calls = 1.61e+08, percall = 0.00, %class = 5.32%
    Function 'StartTracking' : total = 2.24e+00, calls = 6.19e+07, percall = 0.00, %class = 3.94%

Class 'G4CoulombScattering' : total = 2.11e+01, % application = 771%
    Function 'IsApplicable' : total = 4.96e+00, calls = 2.00e+00, percall = 2.48, %class = 23.47%
    Function 'G4CoulombScattering' : total = 4.70e+00, calls = 2.00e+00, percall = 2.35, %class = 22.24%
    Function 'InitialiseProcess' : total = 4.22e+00, calls = 2.00e+00, percall = 2.11, %class = 19.93%
    Function 'MinPrimaryEnergy' : total = 3.96e+00, calls = 8.00e+00, percall = 0.50, %class = 18.74%
    Function 'PrintInfo' : total = 3.30e+00, calls = 2.00e+00, percall = 1.65, %class = 15.62%

Class 'G4eplusAnnihilation' : total = 1.92e+01, % application = 699%
    Function 'G4eplusAnnihilation' : total = 4.57e+00, calls = 1.00e+00, percall = 4.57, %class = 23.84%
    Function 'InitialiseProcess' : total = 4.48e+00, calls = 1.00e+00, percall = 4.48, %class = 23.35%
    Function 'IsApplicable' : total = 4.14e+00, calls = 1.00e+00, percall = 4.14, %class = 21.62%
    Function 'AtRestDoIt' : total = 3.40e+00, calls = 7.73e+05, percall = 0.00, %class = 17.74%
    Function 'AtRestGetPhysicalInteractionLength' : total = 2.58e+00, calls = 7.73e+05, percall = 0.00, %class = 13.46%

Class 'G4GammaConversion' : total = 1.85e+01, % application = 676%
    Function 'G4GammaConversion' : total = 5.41e+00, calls = 1.00e+00, percall = 5.41, %class = 29.19%
    Function 'InitialiseProcess' : total = 4.62e+00, calls = 1.00e+00, percall = 4.62, %class = 24.90%
    Function 'MinPrimaryEnergy' : total = 4.33e+00, calls = 4.00e+00, percall = 1.08, %class = 23.36%
    Function 'IsApplicable' : total = 4.18e+00, calls = 1.00e+00, percall = 4.18, %class = 22.55%

Class 'G4PhotoElectricEffect' : total = 1.55e+01, % application = 563%
    Function 'G4PhotoElectricEffect' : total = 5.82e+00, calls = 1.00e+00, percall = 5.82, %class = 37.65%
    Function 'InitialiseProcess' : total = 5.37e+00, calls = 1.00e+00, percall = 5.37, %class = 34.70%
    Function 'IsApplicable' : total = 4.28e+00, calls = 1.00e+00, percall = 4.28, %class = 27.65%

Class 'G4ComptonScattering' : total = 1.42e+01, % application = 516%
    Function 'G4ComptonScattering' : total = 5.28e+00, calls = 1.00e+00, percall = 5.28, %class = 37.26%
    Function 'InitialiseProcess' : total = 4.66e+00, calls = 1.00e+00, percall = 4.66, %class = 32.93%
    Function 'IsApplicable' : total = 4.22e+00, calls = 1.00e+00, percall = 4.22, %class = 29.81%

All other classes : 9.02e+03, application total : 2.74e+00
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Lightweight Functions (NEEDS UPDATE)

Functions that have few instructions per call and take a significant amount of time.

G4VEmprocess only: Total instructions executed

Class 'G4VEmProcess' : total = 1.02e+12, % application = 2.71%, TIME  % application = 2.83%
    Function 'PostStepGetPhysicalInteractionLength' : total = 6.67e+11, calls = 1.61e+08, percall = 4138.44, %class = 65.23%, TIME %class = 66.30%
    Function 'PostStepDoIt' : total = 1.97e+11, calls = 3.05e+07, percall = 6460.19, %class = 19.27%, TIME %class = 22.22%
    Function 'StartTracking' : total = 1.59e+11, calls = 6.19e+07, percall = 2563.68, %class = 15.50%, TIME %class = 11.48%

Class 'G4eplusAnnihilation' : total = 1.63e+10, % application = 0.04%, TIME % application = 0.06%
    Function 'AtRestGetPhysicalInteractionLength' : total = 2.01e+09, calls = 7.73e+05, percall = 2600.62, %class = 12.36%, TIME %class = 7.15%

Class 'G4CoulombScattering' : total = 3.33e+05, % application = 0.00%, TIME % application = 0.00%
    Function 'MinPrimaryEnergy' : total = 4.57e+04, calls = 8.00e+00, percall = 5715.62, %class = 13.74%, TIME %class = 7.11%
    Function 'IsApplicable' : total = 1.91e+04, calls = 2.00e+00, percall = 9572.00, %class = 5.75%, TIME %class = 2.20%
    Function 'G4CoulombScattering' : total = 1.90e+04, calls = 2.00e+00, percall = 9520.50, %class = 5.72%, TIME %class = 3.41%

Class 'G4GammaConversion' : total = 1.37e+05, % application = 0.00%, TIME % application = 0.00%
    Function 'MinPrimaryEnergy' : total = 3.42e+04, calls = 4.00e+00, percall = 8557.75, %class = 25.04%,  TIME %class = 16.67%

Class 'G4ComptonScattering' : total = 7.72e+04, % application = 0.00%, TIME % application = 0.00%

Class 'G4PhotoElectricEffect' : total = 7.69e+04, % application = 0.00%, TIME % application = 0.00%

All other classes : 3.68e+13, application total : 3.78e+13
(inclusive aggregation of unwound samples and means without NULLs can add up to more than application total)

Metric: PAPI_TOT_INS

TAU ToDo List

See attached files for more complete data.