【发布时间】:2016-01-18 11:09:53
【问题描述】:
一句话我在做什么
从Roslyn github repository 中检查分支Update-1,构建csc.exe,并使用我自己构建的csc.exe 版本编译随机解决方案。
预期结果
我希望性能与 VS 2015 Update 1 随附的原始 Roslyn 版本相当,位于路径:C:\Program Files (x86)\MSBuild\14.0\Bin
实际结果
与原始版本相比,我自己构建的 Roslyn 版本的构建性能明显较差。在我在测试中使用的解决方案中:大约 30 秒对 65 秒。
我的程序更详细
- 克隆 https://github.com/dotnet/roslyn.git 并签出分支 update-1
- 使用
Release配置构建 Roslyn(尝试同时使用Mixed Configuration和x64用于解决方案平台。) -
为了编译测试解决方案,我更改了所有项目文件以使用 csc 路径的特定位置:
<CscToolPath>C:\Path\To\Output\Location\Of\Roslyn\Binaries\</CscToolPath> -
出于测试目的,我正在使用命令行构建测试解决方案
MSBuild.exe /t:Rebuild /m:1 /verbosity:m MySolutionName.sln -
我目前也在打扫之前:
MSBuild.exe /t:Clean /m:1 /verbosity:m MySolutionName.sln -
为了针对 VS 2015 Update 1 附带的原始编译器进行测试,我将项目文件中的配置更改为:
<CscToolPath>C:\Program Files (x86)\MSBuild\14.0\Bin\</CscToolPath>
问题
- 如何使用我的自编译 Roslyn 版本实现类似的性能,就像最初发布的 Roslyn dll 一样?
- 在构建 Roslyn 本身时是否需要考虑其他事项(如优化等)?
【问题讨论】: