C++ 如何减少MSVC中的链接时间?
在MSVC中使用LTO大大增加了构建时间 之前: 构建时间(发布时间):00:02:48.2022884 之后: 构建时间(发布):00:04:50.1647716C++ 如何减少MSVC中的链接时间?,c++,visual-c++,C++,Visual C++,在MSVC中使用LTO大大增加了构建时间 之前: 构建时间(发布时间):00:02:48.2022884 之后: 构建时间(发布):00:04:50.1647716 有没有办法减少MSVC(或一般情况下)所需的总链接时间?在过去的几个版本中,在提高链接器的整体性能方面做了大量工作,因此VS2019是一个很好的升级版本 对于“本地”开发版本,/DEBUG:FASTLINK可以帮助您避免将所有PDB合并为一个。这对您的夜间构建没有帮助,但是它在您的迭代时间上有很大的不同 通常,执行“整个程序优化”/
有没有办法减少MSVC(或一般情况下)所需的总链接时间?在过去的几个版本中,在提高链接器的整体性能方面做了大量工作,因此VS2019是一个很好的升级版本 对于“本地”开发版本,
/DEBUG:FASTLINK
可以帮助您避免将所有PDB合并为一个。这对您的夜间构建没有帮助,但是它在您的迭代时间上有很大的不同
通常,执行“整个程序优化”/“链接时间代码生成”的总时间将根据最终EXE的大小进行缩放。如果你有一个“大型单片”EXE——我见过一些PC游戏达到100MB+的范围——它将比一个带有几个DLL的小型EXE需要更长的时间
见:
/DEBUG:FASTLINK
要做的是创建一个PDB,它只指向构建中已经创建的所有单个PDB。这使您可以在PDB全部就位的情况下进行本地调试,并节省时间。如果要发布EXE/DLL供其他人使用,则必须完全完成PDB,您可以使用完全重建或专用工具来完成。