#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 [email protected]
* 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 [email protected]
* 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 [email protected]
* 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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs