Re: Performance regressions in HEAD

2007-08-07 Thread Neil Mitchell
Hi Simon, > | > Is this the same as you and Simon have been subsequently discussing > | (stack, heap checks), or is it another performance bug? > | > | This is an entirely separate performance bug. The heap check makes one > | of the two variants run 10% slower. This bug effects both variants, > |

RE: Performance regressions in HEAD

2007-08-07 Thread Simon Peyton-Jones
Neil | > Is this the same as you and Simon have been subsequently discussing | (stack, heap checks), or is it another performance bug? | | This is an entirely separate performance bug. The heap check makes one | of the two variants run 10% slower. This bug effects both variants, | and gives a 150%

Re: Performance regressions in HEAD

2007-07-10 Thread Neil Mitchell
Hi Simon, I bet this is related to getchar. When compiling via C, the C compiler can inline getchar, but with -fasm we have to just call getchar(). Take a look at the asm generated for each way, and try swapping over the fragments that do getchar(). It does appear so. I've hacked the C versi

Re: Performance regressions in HEAD

2007-07-10 Thread Simon Marlow
Neil Mitchell wrote: Hi Simon, I've attached a new sample file, which is what this particular message relates to, although it should be nearly identical to the last one I sent you. There was a small difference between -fasm and -fvia-C, with -fvia-C winning by a few percent. I tracked this do

Re: Performance regressions in HEAD

2007-07-10 Thread Neil Mitchell
Hi Simon, I've attached a new sample file, which is what this particular message relates to, although it should be nearly identical to the last one I sent you. There was a small difference between -fasm and -fvia-C, with -fvia-C winning by a few percent. I tracked this down to the getchar() ca

Re: Performance regressions in HEAD

2007-07-10 Thread Simon Marlow
Neil Mitchell wrote: Hi Simon, > The attached charcount.zip shows the optimised cmm and the assembler. > As far as I can tell, the optimised cmm for the hotspot function in > both cases is identical, and the code should be spending all its time > in the hotspot. The names are Main_zdspreludezu9

Re: Performance regressions in HEAD

2007-07-06 Thread Neil Mitchell
Hi Simon, > The attached charcount.zip shows the optimised cmm and the assembler. > As far as I can tell, the optimised cmm for the hotspot function in > both cases is identical, and the code should be spending all its time > in the hotspot. The names are Main_zdspreludezu942zull85_entry for 6.7

Re: Performance regressions in HEAD

2007-07-06 Thread Simon Marlow
Neil Mitchell wrote: Hi Simon, - 6.6.1 and 6.7 generate exactly the same Cmm Yes, as far as I can tell. - but their performance differs significantly, - with -fasm or -fvia-C? Both in the default configuration for -O2, then I redid the tests using -fasm on both. If -fasm, did y

Re: Performance regressions in HEAD

2007-07-06 Thread Neil Mitchell
% slowdown. Thanks Neil Simon | -Original Message- | From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Mitchell | Sent: 05 July 2007 21:21 | To: cvs-ghc@haskell.org | Subject: Performance regressions in HEAD | | Hi | | Running my benchmark of character counting, with the

RE: Performance regressions in HEAD

2007-07-06 Thread Simon Peyton-Jones
| Subject: Performance regressions in HEAD | | Hi | | Running my benchmark of character counting, with the files | ExampleSingle.hs (hand written) and 4.hs (generated by Supero), I get | vastly superior performance using GHC 6.6.1 compared to | ghc-6.7.20070626. | | GHC 6.6.1 | GHC: Elapsed time = 8.047

Re: Performance regressions in HEAD

2007-07-06 Thread Neil Mitchell
Hi Simon, - 6.6.1 and 6.7 generate exactly the same Cmm Yes, as far as I can tell. - but their performance differs significantly, - with -fasm or -fvia-C? Both in the default configuration for -O2, then I redid the tests using -fasm on both. If -fasm, did you look at -ddump-opt

Re: Performance regressions in HEAD

2007-07-06 Thread Simon Marlow
Just to be clear here: you're saying that - 6.6.1 and 6.7 generate exactly the same Cmm - but their performance differs significantly, - with -fasm or -fvia-C? If -fasm, did you look at -ddump-opt-cmm? (we have a cmm-to-cmm optimiser pass that runs before the NCG, that flag shows its out

Re: Performance regressions in HEAD

2007-07-05 Thread Neil Mitchell
Hi Yet more information. Both were compiled using -O2, and for the ASM/CMM dumps with -fasm as well. Thanks Neil On 7/6/07, Neil Mitchell <[EMAIL PROTECTED]> wrote: Hi Further information: Focusing on 4.hs (I will have another email in detail about the differences between the two), GHC 6.7

Performance regressions in HEAD

2007-07-05 Thread Neil Mitchell
Hi Running my benchmark of character counting, with the files ExampleSingle.hs (hand written) and 4.hs (generated by Supero), I get vastly superior performance using GHC 6.6.1 compared to ghc-6.7.20070626. GHC 6.6.1 GHC: Elapsed time = 8.047 seconds Supero: Elapsed time = 2.641 seconds GHC 6.7.