Thomas Tuegel <ttue...@gmail.com> writes:

> On Wed, Feb 17, 2016 at 2:58 AM, Ben Gamari <b...@smart-cactus.org> wrote:
>> Yes, it would be great if someone could step up to look at Cabal's
>> performance. Running `cabal build` on an up-to-date tree of a
>> moderately-sized (10 kLoC, 8 components, 60 modules) Haskell project I
>> have laying around takes over 5 seconds from start-to-finish.
>>
>> `cabal build`ing just a single executable component takes 4 seconds.
>> This same executable takes 48 seconds for GHC to build from scratch with
>> optimization and 12 seconds without.
>
> I have contributed several performance patches to Cabal in the past,
> so I feel somewhat qualified to speak here. The remaining slowness in
> `cabal build` is mostly due to the pre-process phase. There work in
> progress which may improve this situation. We could also look at
> separating the pre-process phase from the build phase. (It seems odd
> to call it `pre-process` when it is *always* run during the build
> phase, doesn't it?) This has the advantage of sidestepping the
> slowness issue entirely, but it may break some users' workflows. Is
> that trade-off worth it? We could use user feedback here.
>
What exactly does the pre-process phase do, anyways?

Cheers,

- Ben

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to