SCons超级慢启动Windows

时间:2018-04-25 20:26:12

标签: scons

在使用SCons构建时,我长期以来一直受到启动时间的影响。在我的旧工作笔记本电脑上,构建最基本的hello world示例可能需要60秒。

我刚收到一台新笔记本电脑,所以我有机会进一步调查。我们的笔记本电脑预装了Visual Studio 2010和其他一些东西。我还需要Visual Studio 2015。

在新拆包的PC上,只有#34;#34; 10秒(python 2.7.14,scons 3.0.0,没有其他主要应用程序在运行)

安装VS2015后,时间最长为20秒。

我可以将它与家中10年前的PC进行比较,其中相同的构建时间不到2秒(但是,只有VS2015)。

这种极端缓慢的原因是什么?可以做些什么吗?似乎执行vcvars脚本等都是负责任的。但为什么在我的工作电脑上这么慢,而不是在家?我该如何进一步解决这个问题?

   Ordered by: cumulative time
   List reduced from 1104 to 20 due to restriction <20>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000   20.500   20.500 C:\Python27\scons-3.0.0\SCons\Script\Main.py:831(_main)
        1    0.000    0.000   20.324   20.324 C:\Python27\scons-3.0.0\SCons\Script\SConscript.py:155(_SConscript)
        1    0.000    0.000   20.323   20.323 C:\Temp\SConstruct:1(<module>)
      3/2    0.000    0.000   20.321   10.161 C:\Python27\scons-3.0.0\SCons\Environment.py:897(__init__)
      3/2    0.000    0.000   20.314   10.157 C:\Python27\scons-3.0.0\SCons\Environment.py:93(apply_tools)
        2    0.000    0.000   20.314   10.157 C:\Python27\scons-3.0.0\SCons\Environment.py:1782(Tool)
     28/2    0.000    0.000   20.313   10.157 C:\Python27\scons-3.0.0\SCons\Tool\__init__.py:271(__call__)
        2    0.000    0.000   20.313   10.157 C:\Python27\scons-3.0.0\SCons\Tool\default.py:38(generate)
        2    0.000    0.000   20.150   10.075 C:\Python27\scons-3.0.0\SCons\Tool\mslink.py:256(generate)
        8    0.000    0.000   20.150    2.519 C:\Python27\scons-3.0.0\SCons\Tool\MSCommon\vc.py:432(msvc_setup_env_once)
        2    0.000    0.000   20.150   10.075 C:\Python27\scons-3.0.0\SCons\Tool\MSCommon\vc.py:531(msvc_setup_env)
        2    0.000    0.000   20.149   10.074 C:\Python27\scons-3.0.0\SCons\Tool\MSCommon\vc.py:442(msvc_find_valid_batch_script)
        2    0.000    0.000   20.148   10.074 C:\Python27\scons-3.0.0\SCons\Tool\MSCommon\vc.py:381(script_env)
        1    0.000    0.000   20.147   20.147 C:\Python27\scons-3.0.0\SCons\Tool\MSCommon\common.py:144(get_output)
       12   20.134    1.678   20.134    1.678 {method 'read' of 'file' objects}
        1    0.000    0.000    0.173    0.173 C:\Python27\scons-3.0.0\SCons\Script\Main.py:1109(_build_targets)
        1    0.000    0.000    0.172    0.172 C:\Python27\scons-3.0.0\SCons\Job.py:100(run)
        1    0.000    0.000    0.169    0.169 C:\Python27\scons-3.0.0\SCons\Job.py:186(start)
        3    0.000    0.000    0.156    0.052 C:\Python27\scons-3.0.0\SCons\Action.py:644(__call__)
        2    0.000    0.000    0.155    0.078 C:\Python27\scons-3.0.0\SCons\Script\Main.py:184(execute)

我的SConstruct文件:

env = Environment()
hello = Program(["hello.c"])

1 个答案:

答案 0 :(得分:1)

根据chat,此处的解决方案是禁用计算机上运行的防病毒软件。

有了这个,SCons的启动时间从40秒缩短到2秒。另外,在其他领域的性能改善也很明显。