diff options
| author | hallgren <hallgren@chalmers.se> | 2015-09-11 14:18:01 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2015-09-11 14:18:01 +0000 |
| commit | 9556cf453f6c1499a2907acd72d7b11211387b0d (patch) | |
| tree | cb3ccf15669ba2766b7607e286bf008df016f5b5 /src/compiler/GF/Command | |
| parent | ef888baec84264bd94284fec13c7a076dcb8a84c (diff) | |
Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expected
* "gf -make -j=n" uses n parallel threads.
* "gf -make -j" adapts to the number of processors in the system.
This mimics how "cabal build -j" and "ghc --make -j" works.
Support for this is implemented in the new module GF.System.Concurrency and
it depends on the function Control.Concurrent.setNumCapabilities, which is
only available in GHC>=7.6 (base>=4.6). GF can still be compiled with
GHC<7.6, but then you have to use +RTS -N -RTS to take advantage of
multicore processors.
To detect the number of processors in the system, the code depends on a
foreign import of a C function in the GHC run-time system.
Diffstat (limited to 'src/compiler/GF/Command')
0 files changed, 0 insertions, 0 deletions
