长期以来,我在使用 SCons 进行构建时一直饱受启动时间过长的困扰。在我的旧工作笔记本电脑上,构建最基本的 hello world 示例可能需要长达 60 秒的时间。
我刚刚收到一台新笔记本电脑,所以我有机会进一步调查这一点。我们的笔记本电脑预装了 Visual Studio 2010 和其他一些东西。我还需要 Visual Studio 2015。
在新拆包的 PC 上,构建 hello world“仅”花费了 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"])
解决方案在这里,根据chat,是禁用机器上运行的防病毒软件。
这样,SCons 启动时间从 40 秒缩短到 2 秒。还可以注意到其他领域的显着性能改进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)