
#7542: GHC doesn't optimize (strict) composition with id --------------------------------------------+------------------------------ Reporter: shachaf | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime performance bug | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: --------------------------------------------+------------------------------ Comment (by ekmett): @nomeata: As I understand the situation, the fact that this optimization isn't happening without `-fpedantic-bottoms` means I'm basically stuck using the existing hacks in `lens`. The code in question is set up to `INLINE` in library into user code, and they very likely aren't compiling with that flag! (Unless I'm misunderstanding how and where that gets tracked and applid.) We have 3 cases to consider, the existing unsafeCoerce hack, the naive eta expansion we're getting without `-fpedantic-bottoms`, and the version without the eta expansion we can produce with `-fpedantic-bottoms`. It appears that the first and the third scenarios are now the same, but the difference in performance between the existing unsafeCoerce hack and the eta expanded code can be asymptotic, if this is closed as is, the fix does me no good, and I'll be left using the existing coercions to ensure a good user experience. =/ -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7542#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler