
#15524: Performance regression when using the GHC API to evaluate code compared to 8.4 -------------------------------------+------------------------------------- Reporter: vaibhavsagar | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.6.1-beta1 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 darchon): `--enable-executable-dynamic` is the Cabal flag to ensure that the resulting executable is dynamically linked against all (Haskell) libraries. Among other things, it ensures that GHC is called with `-dynamic` to produce the executable. By default, Cabal/GHC produces executables that are statically linked again (Haskell) libraries. N.B. For Clash, I've had to enable dynamic linking since GHC 8.2 in order not to incur the performance penalty mentioned in this ticket. Since GHC itself is also dynamically linked (at least it is on Linux) I was never too bothered with having to dynamically link the Clash executables. Anyhow, this makes me wonder if we were to statically link the GHC executable (on linux) whether GHC will incur the same performance overhead as us GHC API users. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15524#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler