Car*_*s00 8 parallel-processing haskell ghc
当我运行这个Haskell片段时,它只能加载1个CPU.这两个f和g是非感,但不应该使用它时加载两个CPU?编译为ghc -O2 snippet.hs.
f x = 1 + (f $! x)
g x = 5 + (g $! x)
z = a `par` b `seq` a+b
where
a = f 3
b = g 5
main = do
print z
Run Code Online (Sandbox Code Playgroud)
您需要使用线程选项进行编译,即ghc -O2 -threaded snippet.hs,然后在命令行上传递可执行文件的核心数,如下所示:
./snippet +RTS -N4
Run Code Online (Sandbox Code Playgroud)
或者您可以让机器仅使用选择核心数量-N.
见http://www.haskell.org/haskellwiki/Haskell_for_multicores
| 归档时间: |
|
| 查看次数: |
280 次 |
| 最近记录: |