[Haskell-cafe] Compile times and separate compilation
Wojtek Narczyński
wojtek at power.com.pl
Sun Feb 28 17:22:05 UTC 2016
On 22.02.2016 22:27, Johannes Waldmann wrote:
>> I presume you are using the -j switch.
> Does it really help? I recently found that for travis builds,
> it is used by default (first surprise)
> but it's faster when it's turned off (second surprise).
>
> https://ghc.haskell.org/trac/ghc/ticket/10818#comment:15
>
>
I meant ghc -j, not cabal -j. It does work very well.
I did the following test.
wojtek at Desktop2016:~/src/tpdb-1.2.0/src$ time ghc -j -fforce-recomp
TPDB/*.hs TPDB/XTC/*.hs TPDB/DP/*.hs TPDB/CPF/Proof/*.hs TPDB/Data/*.hs
TPDB/Plain/*.hs TPDB/Xml/*.hs
[24 of 24] Compiling TPDB.Mirror ( TPDB/Mirror.hs, TPDB/Mirror.o )
real 0m1.221s
user 0m2.416s
sys 0m0.604s
wojtek at Desktop2016:~/src/tpdb-1.2.0/src$ time ghc -fforce-recomp
TPDB/*.hs TPDB/XTC/*.hs TPDB/DP/*.hs TPDB/CPF/Proof/*.hs TPDB/Data/*.hs
TPDB/Plain/*.hs TPDB/Xml/*.hs
[24 of 24] Compiling TPDB.Mirror ( TPDB/Mirror.hs, TPDB/Mirror.o )
real 0m1.791s
user 0m1.660s
sys 0m0.060s
wojtek at Desktop2016:~/src/tpdb-1.2.0$ time cabal build -j
[24 of 24] Compiling TPDB.CPF.Proof.Util ( src/TPDB/CPF/Proof/Util.hs,
dist/build/TPDB/CPF/Proof/Util.o )
real 0m5.544s
user 0m10.912s
sys 0m2.628s
Something is indeed wrong, either cabal is misusing ghc, or you are
misusing cabal.
This package is not a good test case for parallel build, it is too small.
--
Wojtek
More information about the Haskell-Cafe
mailing list