[GHC] #9132: takeWhile&C. still not fusible
GHC
ghc-devs at haskell.org
Sun Jun 8 16:22:47 UTC 2014
#9132: takeWhile&C. still not fusible
-------------------------------------+-------------------------------------
Reporter: Blaisorblade | Owner: skeuchel
Type: bug | Status: patch
Priority: normal | Milestone:
Component: libraries/base | Version: 7.8.2
Resolution: | Keywords: fusion
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: Runtime | Difficulty: Moderate (less
performance bug | than a day)
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+-------------------------------------
Comment (by Blaisorblade):
Thanks for taking care of this!
The performance changes make sense to me, especially to fft2 which does
use takeWhile. (I saw them on one OS X desktop, which however seemed to
like suspending and had more stable timing; I didn't see them on a Linux
machine which was otherwise more stable).
On the regression, I agree it seems accidental. I'm confused that s1 and
s2 are not joined by CSE. Delite/LMS, for instance, uses hash consing to
prevent such programs from being formed in memory (the second definition
is in a nested scope, but it seems this should not be a problem here).
But I guess CSE in GHC would break programs using IO after the definition
of IO is inlined.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9132#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list