为什么?有一个引导过程和编译真正的编译器过程,但是哪个部分消耗的时间最多?
最佳答案
从 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/