optimization - Haskell中自动并行的现状

标签 optimization haskell parallel-processing multicore ghc

这个问题在这里已经有了答案:




11年前关闭。




Possible Duplicate:
What's the status of multicore programming in Haskell?



特别是在 GHC 中的地位如何?它是流行的,还是仍在试验中?

编译器在决定何时以及如何并行化时有多谨慎/细粒度?运行时是否适本地选择了线程池的大小,或者我们必须通过命令行指定?

最佳答案

长答案是唐的回应中链接的论文。简短的回答:

  • GHC 不会自动并行化您的程序。
  • 但是,通过 par 引入并行性变得非常容易。组合器。对此的高级接口(interface)是 "strategies"唐提到。
  • 是否简单添加par将加速你的程序很大程度上取决于你的算法。好处是,没有陷阱——你不能引入死锁或竞争(除非你在欺骗类型系统)。
  • 关于optimization - Haskell中自动并行的现状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4701207/

    相关文章:

    c++ - x!=x 是实现 std::isnan() 的合法方式吗

    syntax - 为什么这个 Haskell 不正确?

    macos - 在 Homebrew 上分发 Haskell 程序

    c++ - 使用 CUDA 并行化四个或更多嵌套循环

    sql-server - 通过SSIS分区导入海量数据

    c++ - 构造函数和对象声明具体事项

    mysql优化表

    algorithm - 函数式编程习惯用法,用于计算 racket/haskell 中不发生突变的最多 4 个数字

    c# - 有效地将项目添加到列表<类>中并行 C#

    algorithm - 具有 N 个节点和 K 个配送中心的集群