macos - 为什么 GHC 的 Macports 包编译需要这么长时间?

标签 macos haskell macports ghc

为什么?有一个引导过程和编译真正的编译器过程,但是哪个部分消耗的时间最多?

最佳答案

从 Gentoo 的角度来看:

在 Gentoo 中,一切都是编译好的。我们为 GHC 所做的是我们的开发人员(包括像我这样的非官方开发人员)从旧版本编译 GHC 的新版本以创建二进制引导版本,然后将其打包并让用户使用该版本编译新版本。

从内存中,编译二进制文件可能需要两倍以上的时间(使用二进制文件在我的笔记本电脑上编译新版本大约需要 45 分钟)。有一些差异(文档是随二进制文件一起构建和交付的,而不是每个用户自己构建的),但我看不出有这么大的时间差异。用于构建二进制文件和最终用户的实际 ebuild 可以在这里找到(启用 ghcbootstrap 标志意味着它构建一个二进制文件,启用二进制标志意味着用户安装和使用预构建的二进制文件而不是自己构建 GHC):http://code.haskell.org/gentoo/gentoo-haskell/dev-lang/ghc/ghc-6.12.3.ebuild

因此,我的猜测是,如果 Macports 确实在构建初始引导二进制文件(特别是如果它是从最后一个仅 C 版本并引导到您实际想要的版本的方式),那么初始引导过程需要很长时间安装)。

关于macos - 为什么 GHC 的 Macports 包编译需要这么长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3153208/

相关文章:

javascript - 在 Node.js JavaScript 中确定软件是否已安装以及 Mac 上的版本

Haskell:使用埃拉托斯特尼筛法的非详尽模式

haskell - 生成一个由元素右移 n 次组成的列表

haskell - Haskell 函数中的模式匹配

ruby - 我怎样才能摆脱这个 ruby 警告?

cocoa - 使 NSButton 调整其图像大小 (Cocoa OSX)

macos - 核心数据抛出 NSInternalInconsistencyException "The context is still dirty after 100 attempts."

c - "SO_REUSEPORT"(OS X) 或 "SO_REUSEADDR"(Linux) 真的允许用户对多个套接字使用 recvfrom 吗?

macos - Postgresql macports 无法连接问题

python - 使用 MacPorts 安装 PyOpenGL