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
