#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

Reply via email to