Three documentations inaccuracies related to concurrency.
The help info below is wrong. The default is the actual number of cores, or something close.
~/waste/threadscope-sparkgraph-demo75$ ./parlist +RTS -N2 -lg -s -asdfasdf parlist: unknown RTS option: -asdfasdf [...] parlist: -N<n> Use <n> processors (default: 1)
the first sentence of the following is wrong and could be just removed.
There is no means (currently) by which this value may vary after the program has started. The current value of the -N option is available to the Haskell program via GHC.Conc.getNumCapabilities, and it may be changed while the program is running by calling GHC.Conc.setNumCapabilities. Note: in the current implementation, the -N value may only be increased, not decreased, by calling GHC.Conc.setNumCapabilities.
nor on first page of the docs it refers to:
is there any hint about the possibility and advantages of using "-threaded" and "+RTS -N". It may be misleading to the users that specifically seek an information about any extra flags they need to start using multiple cores or non-blocking FFI calls.