
#14208: Performance with O0 is much better than the default or with -O2, runghc performs the best -------------------------------------+------------------------------------- Reporter: harendra | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by MikolajKonarski): Interesting. From what you write, my guess would be that when all functions are inlined (e.g., everything is placed in the same module) or when none get inlined, performance is good, but some combination of inlined and not inlined functions causes the slowdown (such things do happen and they are impossible to avoid). If I was to try and minimize this example, I'd put everything in the same module and then explore all combinations of INLINE and NOINLINE pragmas on functions. BTW, does the slowdown vanish if you enable -fexpose-all-unfoldings (and -fspecialise- aggressively for a good measure)? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14208#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler