#5113: Huge performance regression of 7.0.2, 7.0.3 and HEAD over 7.0.1 and 6.12
(MonoLocalBinds)
----------------------------------+-----------------------------------------
Reporter: daniel.is.fischer | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.0.3 | Keywords: performance, MonoLocalBinds
Testcase: | Blockedby:
Os: Linux | Blocking:
Architecture: x86 | Failure: Runtime performance bug
----------------------------------+-----------------------------------------
Exploring ways to make show for `Double` and `Float` faster, I encountered
a terrible performance regression. Time increased about 20-fold,
allocation about 75-fold.
With 6.12.3 and 7.0.1, the new code is nearly twice as fast as the old and
allocates less than a third. With 7.0.2, 7.0.3 and the HEAD
(7.1.20110329), the new code is over ten times slower than the old and
allocates more than twenty times as much.
In 7.0.3's core at least some local bindings appear as polymorphic
functions which are inlined by 7.0.1. And indeed, compiling with
-XMonoLocalBinds rectifies matters. Nevertheless, that shouldn't happen.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5113>
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