
With 5.04 I get almost the same, look:
COST CENTRE MODULE %time %alloc
showData1 Main 87.1 89.2 ncEps Epsilon 3.6 3.4 cutAbove4 Tcsa 2.6 1.2
individual inherited COST CENTRE MODULE no. entries %time %alloc %time %alloc
MAIN MAIN 1 0 0.0 0.0 100.0 100.0 main Main 165 0 0.1 0.0 100.0 100.0 [...] showData Main 173 1 0.0 0.0 91.5 92.1 showData2 Main 178 0 0.0 0.0 0.0 0.0 showData3 Main 177 0 0.0 0.0 0.0 0.0 showData4 Main 176 0 0.1 0.1 0.1 0.1 showData5 Main 175 0 0.0 0.0 0.3 0.3 myShow Main 200 9453 0.3 0.3 0.3 0.3 showData1 Main 174 0 87.1 89.2 91.1 91.7 cutAbove Tcsa 181 0 0.0 0.0 2.6 1.2 cutAbove2 Tcsa 199 1 0.0 0.0 0.0 0.0 cutAbove3 Tcsa 193 27 0.0 0.0 0.0 0.0 cutAbove4 Tcsa 182 0 2.6 1.2 2.6 1.2 spinSelect Tcsa 180 1 0.0 0.0 0.0 0.0 getStates Tcsa 179 1 0.9 1.0 1.4 1.2 incrementalBase Fermion 189 1 0.4 0.2 0.5 0.2 fermionNumber Fermion 192 77664 0.1 0.0 0.1 0.0 mergeUp Boson 184 6 0.0 0.0 0.0 0.0 allTowers Boson 183 0 0.0 0.0 0.0 0.0 inModule Boson 185 17 0.0 0.0 0.0 0.0 [...]
It looks from the profile that the showData1 cost centre has widened in scope to encompass some extra code. This may be because of incorrect transformations made by the compiler (transformations in the presence of cost-centre annotations have to be done very carefully, and I'm sure the compiler currently has bugs in this area). If you could send us a smaller example that displays the problem, we'll be happy to look into it. Cheers, Simon

"Simon Marlow"
If you could send us a smaller example that displays the problem, we'll be happy to look into it.
Well, here is a definitively smaller, although not too small example (182 lines total). Options are hardcoded in this version. Compile with ghc -o show --make Show2.hs -prof -auto-all and run as ./show +RTS -p to get the profile (also attached). Btw, I also get a warning before linking (only with 5.04-1 got from http://lambda.foldr.org/~michaelw/debian-unoff/ /dists/unstable/binary-i386/): /tmp/ghc16560.hc:1247: warning: initialization discards qualifiers from pointer target type I hope I didn't leave out anything. And if you have any comments regarding the code, I'd be glad to head them, too. Cheers: Feri.

Hello, something interesting turned up again. Setting cut=8 in Show2.hs and running it with ./show +RTS -h -i0.01 gives show: fatal error: main thread has been GC'd It may be silly, since 0.01 < 1/50, but this error message isn't too helpful. Btw, +RTS -? says: -i<msec> Time between heap samples (msec, default: 100) which is wrong (time is given in seconds really). One more question: is there a way not to truncate the call stacks? Ie in the hp file I see lines like (144)showData2/showData/ma... 12 and I'd like to see showData2/showData/main or so. Cheers: Feri.
participants (2)
-
Ferenc Wagner
-
Simon Marlow