ghc-parmake: A parallel wrapper for 'ghc --make'.

[ bsd3, development, library, program ] [ Propose Tags ] [ Report a vulnerability ]

'ghc-parmake' is a parallel wrapper for 'ghc --make' intended to work as its drop-in replacement. It can build your Haskell program in parallel using multiple cores. 'ghc-parmake' works by extracting a module dependency graph with 'ghc -M' and then running multiple 'ghc -c' processes in parallel. To set the number of concurrent jobs, use the '-j' option.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9
Dependencies array (>=0.3 && <0.6), base (>=4 && <5), containers (>=0.4 && <0.6), directory (>=1.1 && <2), filepath (>=1 && <2), ghc-parmake (==0.1.9), process (>=1 && <2), temporary (>=1 && <2) [details]
License BSD-3-Clause
Author Mikhail Glushenkov
Maintainer the.dead.shall.rise@gmail.com
Category Development
Home page https://github.com/23Skidoo/ghc-parmake
Bug tracker https://github.com/23Skidoo/ghc-parmake/issues
Source repo head: git clone https://github.com/23Skidoo/ghc-parmake.git
Uploaded by MikhailGlushenkov at 2015-12-17T19:53:02Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables ghc-parmake
Downloads 7434 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-11-29 [all 1 reports]

Readme for ghc-parmake-0.1.9

[back to package description]

ghc-parmake

Build Status

ghc-parmake is a parallel wrapper for ghc --make intended to work as its drop-in replacement. It can build your Haskell program in parallel using multiple cores and will be integrated with cabal build eventually (though I also plan to support the standalone version).

To use it with cabal, try cabal build --with-ghc=ghc-parmake --ghc-options="-j N".

ghc-parmake works by first extracting a module dependency graph with ghc -M and then running multiple ghc -c processes in parallel. Currently, it can build itself and some small test programs (see the tests directory).

To set the number of concurrent jobs, use the -j option.

Usage

ghc-parmake OPTS FILES

-j N             - Run N jobs in parallel.
--ghc-path=PATH  - Set the path to the ghc executable.

-vv[N]           - Set verbosity to N (only for ghc-parmake).
                   N is 0-3, default 1.
-v[N]            - Set verbosity to N (both for GHC and ghc-parmake itself).
--help           - Print usage information.
-V               - Print version information.

Other options are passed to GHC unmodified.

Known limitations

  • Build fails when -odir != -hidir.
  • Tested only on Linux.