
Tuncer Ayaz
On 17 February 2016 at 07:40, Evan Laforge
wrote: My impression from the reddit thread is that three things are going on:
1 - cabal has quite a bit of startup overhead 2 - ghc takes a long time on certain inputs, e.g. long list literals. There are probably already tickets for these.
In my experience GHC startup overhead (time) has increased quite a lot somewhere in 7.x. I don't know if it's the cause, but perhaps dyn libs may be part of the reason. I'm not sure because I once (7.8 I believe) tried to build without dynlink support and couldn't measure a substantial improvement.
I'm not sure this is going to be a significant effect, but last night thomie, rwbarton, and I discovered that the way we structure the Haskell library directory makes the dynamic linker do significantly more work than necessary. Merely compiling "Hello world" requires 800 `open` system calls with a dynamically linked compiler. Seems like we should really try to fix this. See #11587. Cheers, - Ben