我的团队正在使用arm-none-eabi-gcc.exe (Sourcery CodeBench Lite 2012.09-63) 4.7.2
从Visual Studio 2013
内编译C ++。
我的同事最近升级了他们的机器。
旧电脑:
新电脑:
完全相同的96个文件集的编译时间是:
旧:60 secs
新:104 secs
尽管CPU速度更快,内存更快,但编译变得更慢。
我在几位同事的电脑上观察到了这一点。
此时,除了以下情况之外,您认为这是一个硬件问题:自Sep-2017
以来我有新 PC配置,并且突然间没有任何硬件更改,我注意到在Oct/Nov-2017
中,我的编译速度急剧下降。
因此,我认为这是一个导致此问题的Windows更新。
问题
我如何明确地推断出这种放缓的原因?
澄清#1
我并不是说我的编辑在Windows Update期间变慢。我的意思是过去发生的一些Windows更新导致我的编译速度变慢。
更新#1
我正在使用空白.cpp
文件并对其进行100次编译,我仍然看到Windows 7 PC和Windows 10之间存在完全相同的时差。
我99%肯定这是gcc for windows中的“bug”。我安装了gcc from the ARM website,我看到了同样的问题。
但是,当我使用cl.exe
编译空白文件100次时,它只需要5秒与Windows 7和旧版Windows 10(10月/ 11月)上的gcc相同
我的测试脚本是:
set GCC_EXE="C:\Program Files (x86)\GNU Tools ARM Embedded\7 2017-q4-major\bin\arm-none-eabi-gcc.exe"
set startTime=%time%
echo off
%GCC_EXE% -c "empty.cpp" -o ".\empty.obj"
%GCC_EXE% -c "empty.cpp" -o ".\empty.obj"
%GCC_EXE% -c "empty.cpp" -o ".\empty.obj"
...
答案 0 :(得分:2)
Windows Defender在构建期间反复扫描GCC二进制文件。
禁用“实时保护”可以解决问题。
此外,将可执行文件所在的文件夹添加到“排除列表”中也可以。