On 14 October 2011 16:33, Erik de Castro Lopo <[email protected]> wrote:
> David Terei wrote:
>
>> Can you fork GHC on github and put your
>> patch up on there and then send me a link please? This is just a far
>> easier workflow for me to review and merge patches than email.
>
> Sure, will do.
>
>> Hmmm I wasn't expecting a huge speedup but was hoping for a few
>> percentage points at least.
>
> With 20/20 hindsight I'm not that surprised. The NCG backend path
> looks like:
>
>   CMM -> native asm -> native assembler -> object code
>
> while the LLVM backend path looks like:
>
>   CMM -> llvm code -> llc -> native asm -> native assembler -> object code
>

Sure, LLVM will always be the slower path, I'm not expecting us to get
that close to it.

> The thing thats different here is that GHC generates LLVM text
> IR code that then has to be parsed by llc. I wonder if it might
> be worth print LLVM btyecode instead of LLVM text IR code.
>
> Although it would probably be better to instrument things first
> and find out whats really happening. It would also be useful to
> check out the nofib tests that are the slowest to try and figure
> out why.

I did some instrumentation in the past (although it was pretty hacky
so worth doing again if you have the motivation). I didn't find we
were loosing much time going via text files and not the C++ bindings.
Most the time is spent in opt, doing optimisation work.

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to