#4951: Performance regression 7.0.1 -> 7.0.1.20110201 --------------------------------------+------------------------------------- Reporter: simonmar | Owner: simonpj Type: bug | Status: new Priority: highest | Milestone: 7.0.2 Component: Compiler | Version: 7.0.1 Resolution: | Keywords: Testcase: | Blockedby: Difficulty: | Os: Unknown/Multiple Blocking: | Architecture: Unknown/Multiple Failure: Runtime performance bug | --------------------------------------+-------------------------------------
Comment(by simonpj): I believe I have cured these regressions between 7.0.1 and the 7.0 branch (will be 7.0.2). Specifically, in the compiler: {{{ Thu Feb 24 09:47:44 PST 2011 simo...@microsoft.com * Re-enable SPECIALISE INSTANCE pragmas This mirror a similar patch in HEAD. Lacking it was responsible for signficant performance regressions in numeric operations on Rationals. M ./compiler/typecheck/TcInstDcls.lhs -2 +2 }}} This was a good catch, because it was wrong in HEAD too. The others are just patches in the libraries that hadn't moved to the branch. In base {{{ Wed Nov 17 02:05:10 PST 2010 simo...@microsoft.com * Make (^) and (^^) INLINABLE This makes them perform well robustly (e.g. in test perf/should_run/MethSharing) rather than relying on a rather delicate let-floating. See Note [Inlining (^) in Real.lhs M ./GHC/Real.lhs +13 }}} and in ghc-prim: {{{ Tue Oct 26 01:29:55 PDT 2010 simo...@microsoft.com * Add a rewrite rule for toInt# so literals work right See the comments with toInt#, but the key point is that we want (fromInteger 1)::Int to yield (I# 1)! M ./GHC/Integer.lhs +6 }}} Result seems good {{{ Min +10.2% -92.8% -32.4% -32.2% Max +12.6% +23.4% +4.2% +4.2% Geometric Mean +11.8% -3.5% -5.7% -5.6% }}} The +24% is in sphere, and is caused by #4979; it's a code issue not an optimisation one. Generally perf is signficantly up, which is good. Ian can you confirm. No patches to push -- I have done that already. Simon -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4951#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs