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,
> |
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%
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
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
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
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
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
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
% 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
| 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
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
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
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
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.
14 matches
Mail list logo