
So one solution would be to mark strictMinimum as INLINE, so that its unfolding stays small and both strictMinimum and foldl will be inlined at
#10788: performance regression involving minimum -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by nomeata): the use site? Tried that. The unfolding will then mention `foldr` instead of the above code, but is still too large. I was expecting the unfolding to mention `foldl1'`, as I thought the unfolding of something marked `INLINE` is never changed? Weird. Maybe someone else can give this a shot? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10788#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler