On 25/02/2010 01:15, Manuel M T Chakravarty wrote:
The most interesting observation seems to be that the results are
largely inconsistent (look at 'atom', for example). Even
wheel-sieve1, where our numbers go in the same direction, varies
between +10% and +22.7%. My numbers are from an older HEAD (as I had
nofib handy there), but I'm still wondering where this difference
comes from. Is it just that different processors are more or less
sensible to TNTC? But then it doesn't seem that one processor is
consistently less affected, but it also seems to depend on the
program.
I should mention that for my tests I had the libraries compiled with -O2
-fasm, but the programs themselves compiled with -O (for no particular
reason). Presumably you're using different optimisation settings, which
may account for some of the difference.
Also, I expect the effect depends a lot on how well the processor's
branch-prediction engine is able to cope with the extra indirect jumps
that arise when TNTC is turned off. Predicting indirect jumps is one
area where processors still differ quite a lot. Many of these programs
have fairly small inner loops, and the effect of consistently
mispredicting or predicting one jump could have a large effect.
Cheers,
Simon
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc