【问题标题】:MinGW "make" starts very slowlyMinGW "make" 启动非常缓慢
【发布时间】:2012-01-24 04:37:39
【问题描述】:

在经历了一些痛苦和折磨之后,我设法安装了 MinGW 所需的一切,以便在不在网络上的计算机上工作。

这几天运行良好,但现在在我发出“make”命令来构建我的项目后,我遇到了很长时间的延迟。

我尝试禁用网络,如下所示:Why is MinGW very slow? 但这没有帮助。

请注意,缓慢的并不是实际的编译/链接进度,而是这些进程的启动似乎需要很长时间。 5-10分钟。除非我只是这样做,否则它会在 10-30 秒内开始。

我知道,过去在 Commodore 上加载这些磁带需要更长的时间,但这些年来我变得不耐烦了。

有什么想法吗?

【问题讨论】:

  • 尝试为某些商业编译器/工具链连接许可证服务器,或连接到 SVN 服务器以检查当前正在编译的代码的版本(从 makefile 调用 svn-version)是导致 @987654322 的原因@我的案子要花很长时间。
  • 谢谢!该文件夹没有任何 svn 标签,也没有使用任何此类工具。我希望其他人有这个问题,并认为该评论有帮助:)
  • 您确定调用了正确的make 吗?也许您的搜索路径中有其他 makes ?
  • 5-10 分钟听起来有点过分;即使在编译开始前 10-30 秒似乎也很多。当它运行良好时,是同一个项目吗?你可能想在 MinGW 邮件列表上问这个问题。
  • 您是否尝试过运行make -d 来查看它在幕后所做的事情?它可能会帮助您辨别它是否在开始编译之前实际上做了很多事情,或者正在完成的少数事情是否非常缓慢。

标签: performance makefile mingw


【解决方案1】:

尝试做make -r(没有隐含规则)。对我来说,单个 cpp 文件的 30 秒和几分之一秒之间的差异。

解释:

很久以前我也遇到过 MinGW 提出的同样问题。我使用make -d 进行调查。很明显,make 对每个依赖文件都使用了大量的隐式规则——如果我的文件在 shared_ptr.hpp 上有 dep,那么 make 检查 shared_ptr.hpp(o|c|cc|v|f|r| .. 和其他几十种组合)。当然,这些文件不存在。看起来在 Windows 平台上检查文件 mod 时间/存在(当它实际上不存在时)比在 Linux 上慢很多(因为在 Linux 上我没有看到有/没有-r 开关的任何区别)。

【讨论】:

    猜你喜欢
    • 2011-10-28
    • 1970-01-01
    • 2012-04-18
    • 2018-07-04
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2021-11-11
    相关资源
    最近更新 更多