
22 Jan
2009
22 Jan
'09
5:02 p.m.
wasserman.louis:
How might I go about finding out how many processors are available in a concurrent GHC program? I have some code I'd like to parallelize, but I don't want to spawn a separate (even lightweight) thread for each of thousands of minor tasks.
Louis Wasserman [1]wasserman.louis@gmail.com
You set the number of OS threads with +RTS -N at runtime. This value is accessible from Haskell via: GHC.Conc: -- | the value passed to the @+RTS -N@ flag. This is the number of -- Haskell threads that can run truly simultaneously at any given -- time, and is typically set to the number of physical CPU cores on -- the machine. numCapabilities :: Int -- Don