split-obj: disable split-objects on Windows.
ClosedPublic

Authored by Phyx on Jul 1 2018, 5:23 AM.

Details

Summary

A change has caused GHC to generate excessive specializations.
This is making GHC generate 1800 splits for a simple GHC.Prim module,
which means 1800 fork/exec calls.

Due to this compilation times on Windows with split-objs on take over
24 hours to complete depending on your disk speed. Also the end compiler
compiling medium to large project is also much slower.

So I think we need to just disable split-objects. As there's nothing that
can be done about this.

Test Plan

./validate

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Phyx created this revision.Jul 1 2018, 5:23 AM

Yes, I agree that this is the right way forward. This also means that we can simply remove split-objs, since Windows is AFAIK the only platform that still used it.

Yes, I agree that this is the right way forward. This also means that we can simply remove split-objs, since Windows is AFAIK the only platform that still used it.

Indeed; is there any good reason to keep split-objs at all? I'm sure removing it entirely would simplify things significantly.

Yes, I agree that this is the right way forward. This also means that we can simply remove split-objs, since Windows is AFAIK the only platform that still used it.

Indeed; is there any good reason to keep split-objs at all? I'm sure removing it entirely would simplify things significantly.

Indeed this is what I'm suggesting. I've been wanting to drop it for years now. Trac #11445 is relevant.

Phyx added a comment.Jul 5 2018, 9:34 AM
This comment was removed by Phyx.
This revision was not accepted when it landed; it landed in state Needs Review.Jul 16 2018, 7:48 PM
This revision was automatically updated to reflect the committed changes.