【问题标题】:Parallel Cabal Builds [duplicate]平行阴谋集团构建[重复]
【发布时间】:2011-12-12 20:38:12
【问题描述】:

在使用类似于 GNU make 的 -jN 标志的 cabal install 时,有没有办法并行编译包?

【问题讨论】:

    标签: haskell build parallel-processing cabal multicore


    【解决方案1】:

    是的,从 1.16 版开始,cabal 确实支持使用 -j 选项进行安装,如下所示:

    cabal install -j mypackage

    【讨论】:

    • n.b.此版本的 cabal 未包含在当前版本的 Haskell 平台 (2012.4.0.0) 中,但属于 expected to be included in the next version of the Haskell Platform (2013.2.0.0)(请参阅 cmets)。
    • 但是,即使在当前的 Haskell 平台上,您也可以简单地 cabal install cabal-install 来获得此功能。这甚至不会破坏(对我而言)。
    • 您可能想在您的答案中添加这不会加快单个软件包的安装 - 它只是同时安装 多个软件包。因此cabal install -j mypackage不会带来任何好处,只有cabal install -j package1 package2会。
    • @nh2 如果 mypackage 有多个依赖项,它们不会被并行编译怎么办? (如果依赖项当然允许)
    • 为什么默认不启用这个选项?
    【解决方案2】:

    没有。一段时间以来,这一直是一个悬而未决的问题。有人努力让ghc --make 并行构建所需的模块,但显然这遇到了问题。从那以后,在阴谋集团层面做这件事一直是我听到的所有讨论,但还没有成为现实。

    请参阅此duplicate question 以获取一些链接以及仍然是最先进的技术。

    【讨论】:

    • 天啊,投反对票很容易。这在编写时是正确的,但较新的答案(整整一年后编写)包含您正在寻找的更新信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多