Changes between Version 15 and Version 16 of Status/Oct10


Ignore:
Timestamp:
Oct 28, 2010 8:12:09 AM (3 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/Oct10

    v15 v16  
    1616}}} 
    1717 Here, `f` will be inlined into `g1` as you'd expect, but obviously not into `g2` (since it's not applied to anything).  However `f`'s right hand side will be optimised (separately from the copy retained for inlining) so that the call from `g2` runs optimised code. 
     18 
     19 There's a raft of other small changes to the optimisation pipeline too.  The net effect can be dramatic: Bryan O'Sullivan reports some five-fold (!) improvements in his text-equality functions, and concludes "The difference between 6.12 and 7 is so dramatic, there's a strong temptation for me to say 'wait for 7!' to people who report weaker than desired performance." [[http://www.serpentine.com/blog/2010/10/19/a-brief-tale-of-faster-equality/ Bryan]] 
    1820 
    1921 * David Terei implemented a new back end for GHC using LLVM. In certain situations using the LLVM backend can give fairly substantial performance improvements to your code, particularly if you're using the Vector libraries, DPH or making heavy use of fusion. In the general case it should give as good performance or slightly better than GHC's native code generator and C backend. You can use it through the '-fllvm' compiler flag. More details of the backend can be found in David's and Manuel Chakravarty's Haskell Symposium paper [Llvm]. 
     
    8991== Bibliography == 
    9092 
     93 * [Bryan] "A brief tale of faster equality", Bryan O'Sullivan blog post, Oct 2010, http://www.serpentine.com/blog/2010/10/19/a-brief-tale-of-faster-equality/. 
     94 
    9195 * [Containers] "The performance of the Haskell containers package", Straka, Haskell Symposium 2010, http://research.microsoft.com/~simonpj/papers/containers/containers.pdf 
    9296