mirror of
https://github.com/anoma/juvix.git
synced 2024-12-15 01:52:11 +03:00
2f4a3f809b
## Overview This PR makes the compiler pipeline thread-safe so that the test suite can be run in parallel. This is achieved by: * Removing use of `{get, set, with}CurrentDir` functions. * Adding locking around shared file resources like the the global-project and internal build directory. NB: **Locking is disabled for the main compiler target**, as it is single threaded they are not required. ## Run test suite in parallel To run the test suite in parallel you must add `--ta '+RTS -N -RTS'` to your stack test arguments. For example: ``` stack test --fast --ta '+RTS -N -RTS' ``` The `-N` instructs the Haskell runtime to choose the number of threads to use based on how many processors there are on your machine. You can use `-Nn` to see the number of threads to `n`. These flags are already [set in the Makefile]( |
||
---|---|---|
.. | ||
Commands | ||
TopCommand | ||
App.hs | ||
AsmInterpreter.hs | ||
CommonOptions.hs | ||
Evaluator.hs | ||
GlobalOptions.hs | ||
Main.hs | ||
TopCommand.hs |