[GHC] #6166: Performance regression in mwc-random since 7.0.x
GHC
ghc-devs at haskell.org
Wed Jan 4 18:56:06 UTC 2017
#6166: Performance regression in mwc-random since 7.0.x
-------------------------------------+-------------------------------------
Reporter: bos | Owner:
Type: bug | Status: closed
Priority: high | Milestone: 8.2.1
Component: Compiler | Version: 7.4.2
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Runtime | (amd64)
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by rwbarton):
* status: new => closed
* resolution: => fixed
Comment:
The original version of mwc-random and the minimized test cases in the
comments are a bit fragile, in that they rely crucially on `blocks` being
floated out of the IO action which contains it, ideally to top level. I'm
not sure why, but GHC 7.8.4 isn't doing this floating out in the versions
marked SLOW.
For better or worse, GHC 7.10.1 does float out `blocks` to top level in
the SLOW versions, and I also checked that it produces efficient code for
the original version mwc-random-0.13.1.0 that prompted this report.
Without a way to reproduce this in a recent version, I'm going to assert
that the underlying issue was probably fixed between 7.8 and 7.10.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/6166#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list