@@ -1,10 +1,31 @@
1−# GHC Options
1+# Compilation Options
3−* Recommended compiler options are: `-O2 -fspec-constr-recursive=10`
3+Recommended GHC options are:
4−* To make use of multiple cores, use: `-threaded -with-rtsopts "-N"`
6−# Known Issues
5+ `-O2 -fspec-constr-recursive=10`
7+At the very least `-O` compilation option is required. In some cases, the
8+program may exhibit memory hog with default optimization options. For example,
9+the following program, if compiled without an optimization option, is known to
13+main = S.drain $ S.concatMap S.fromList $ S.repeat []
16+The `-fspec-constr-recursive=10` option may not be necessary in most cases but
17+may help boost performance in some cases.
19+# Multi-core Parallelism
21+Concurrency without a threaded runtime may be a bit more efficient. Do not use
22+threaded runtime unless you really need multi-core parallelism. To get
23+multi-core parallelism use the following GHC options:
25+ `-threaded -with-rtsopts "-N"`
8GHC 8.2.2 may hog memory and hang when building certain application using
29GHC 8.2.2 may hog memory and hang when building certain application using
9−streamly (particularly the streamly benchmarks). Therefore we recommend
30+streamly (particularly the benchmark programs in the streamly package).
10−avoiding using the GHC version 8.2.x.
31+Therefore we recommend avoiding using the GHC version 8.2.x.