windows 中的 SCons 超慢启动
SCons super slow startup in windows
长期以来,在使用 SCons 构建时,我一直受到启动时间长的困扰。在我的旧笔记本电脑上,构建最基本的 hello world-example 最多可能需要 60 秒。
我刚收到一台新笔记本电脑,所以我有机会对此进行进一步调查。我们的笔记本电脑预装了 Visual Studio 2010 和一些其他东西。我还需要 Visual Studio 2015.
在新解压的 PC 上,hello world 的构建花费了 "only" 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 秒。还可以注意到其他领域的显着性能改进。
长期以来,在使用 SCons 构建时,我一直受到启动时间长的困扰。在我的旧笔记本电脑上,构建最基本的 hello world-example 最多可能需要 60 秒。
我刚收到一台新笔记本电脑,所以我有机会对此进行进一步调查。我们的笔记本电脑预装了 Visual Studio 2010 和一些其他东西。我还需要 Visual Studio 2015.
在新解压的 PC 上,hello world 的构建花费了 "only" 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 秒。还可以注意到其他领域的显着性能改进。