Geant4.10.06.p02 taking a lot of time when processing events

After installing geant4.10.06p02, I realized that it takes much more time to process e.g. 100 events with my prefered benchmark application (studying muon production by 18 GeV electron beam on copper dump) respect to geant4.10.06p01.

In particular, running both versions with “time”, I get for geant4.10.06p02

real 19m28,120s
user 19m10,802s
sys 0m0,272s

and for geant4.10.06p01 I get

real 3m22,695s
user 3m15,619s
sys 0m0,214s

So while the sys-time is more or less comparable, user time is much larger for geant4.10.06p02.
I tried on several computers, also with different compiler versions, but the result is always like this.

What could be the reason for this slow-down?


we do not have such information so far. In our tests CPU per events is not affected. In order to figure out what is going on you may do following:

  • compare printouts at initialisation for two versions and identify all differences
  • try to run $G4INSTALL/examples/extended/hadronic/Hadr01, you need to prepare macro-file with Cu target and muon beam, you may compare both initialisation printout and results for different Physics Lists


I compared the printouts of the two versions, and everything seems to be quite similar (physics, ranges in material, etc.). Only big difference is indeed:


Run Summary
Number of events processed : 100
User=207.130000s Real=207.475880s Sys=0.050000s [Cpu=99.9%]


Run Summary
Number of events processed : 100
User=1666.470000s Real=1672.114818s Sys=0.700000s [Cpu=99.7%]

I run also the Hadr01 example with 18 GeV mu- beam on 100cm long copper target with QGSP_BERT - in this case, there is in fact no difference in processing time between the two versions.

In my application, I use QGSP_BERT with EMZ Reference List, and in addition add the “GammaToMuPair”, “muonNuclear” and “photonNuclear” processes. I then add biasing to the processes “GammaToMuPair”, “photonNuclear” and “muonNuclear”.

I ran valgrind with the callgrind option with both versions, and I find that with Geant4.10.06p02, a lot of functions are called 10 times more often than for Geant4.10.06p01. It looks to me as if Geant4.10.06p02 is taking more steps. In particular, the function ‘G4MuBremsstrahlungModel:ComputeDMicroscopicCrossSection(double, double, double)’ is called 420 000 times in Geant4.10.06p02, while it seems to be absent in Geant4.10.06p01. So maybe this can explain the difference. What does this function do?