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

Reply via email to