
#10711: Defining mapM_ in terms of traverse_ causes substantial blow-up in ByteCodeAsm -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: ghcirun004 Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by bgamari): * cc: core-libraries-committee@… (added) * status: new => closed * resolution: => fixed Comment: Thanks akio for the analysis! It seems pretty clear that rewriting `mapM_` in terms of `traverse_` does not preserve the performance characteristics of user code in general. I'm going to close this and push the matter off to the Core Libraries Committee to decide what implications this might have on their future plans (likely few given they already [https://mail.haskell.org/pipermail/libraries/2015-May/025719.html suspected] there was the potential for performance regressions with this change). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10711#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler