大型项目的 Visual Studio 2010 C++ 链接器性能

2023-12-22

在我的公司,我们仍在使用 Visual Studio 2005,但正在研究 Visual Studio 2010,希望它能加快我们开发周期的某些部分。目前,我们最感兴趣的是 Visual Studio 2010 的 C++ 链接器的性能。在构建应用程序时,我们会考虑 40 秒到 2 分钟之间的链接时间,具体取决于机器配置(SSD 与 HDD)以及是否东西已经在 Windows 的磁盘缓存中了。我们使用 VS2010 链接器代替 VS2005 链接器进行的简单测试显示性能提高了约 25%。我们希望看到更大的改进,因为我们认为链接器现在能够利用多个内核。

这 25% 真的是我们在切换到 VS2010 时应该期望的改进吗?还是有一些神奇的链接器开关可以将链接时间减少到可接受的水平?


我的理解是,MS 对 VS2010 中的链接器所做的重大更改(性能方面)是编写 .pdb 文件是在单独的线程上完成的。当然,由于链接器的作用远不止于此,因此它对总体链接时间的改进是有限的:

  • 链接器吞吐量 http://blogs.msdn.com/b/vcblog/archive/2009/09/10/linker-throughput.aspx

如果您对此分析感兴趣,这里有一篇文章展示了如何获得一些更详细的计时统计信息:

  • VC++ 提示:使用 MSBuild、编译器和链接器获取详细的构建吞吐量诊断 http://blogs.msdn.com/b/vcblog/archive/2010/04/01/vc-tip-get-detailed-build-throughput-diagnostics-using-msbuild-compiler-and-linker.aspx

不管怎样,通过添加一套新工具就能将速度提高 25%,这对我来说似乎是一个相当不错的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大型项目的 Visual Studio 2010 C++ 链接器性能 的相关文章

  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 为什么这个函数在额外读取内存时运行速度如此之快?

    我目前正在尝试了解 x86 64 上某些循环的性能属性 特别是我的 Intel R Core TM i3 8145U CPU 2 10GHz 处理器 具体来说 在循环体内添加一条额外的指令来读取内存几乎可以使性能提高一倍 而细节并不是特别重
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器

随机推荐

  • 更改聚合物纸元素默认字体

    将 Polymer Paper Elements 默认字体从 Roboto 更改为自定义字体的最佳方法是什么 我用的是 paper font common base mixin 来定义我的字体 这适用于大多数地方 但不是全部 在像这样的地方
  • gnu ld/gdb:单独的调试文件。当有太多调试信息需要链接时如何生成调试文件?

    现在有gdb and binutils支持将调试信息与要调试的二进制文件分开 描述这一点的文档可以在以下位置找到 gdb 单独的调试文件 http sourceware org gdb onlinedocs gdb Separate Deb
  • konvajs 序列化包含图像的阶段

    我正在使用 Konvajs 创建一个自定义标签制作器 一切都运行良好 直到我尝试将阶段序列化为 JSON 用户通过三个步骤创建自定义标签 第一步 他们从我们的库中选择一个具有遮罩区域的模板图像 第二步允许他们上传个性化图像 该图像放置在第一
  • PHP - 如何将命名变量放入字符串中并在变量之前定义字符串

    我正在寻找 php 相当于pythons 操作员 https stackoverflow com a 2962966 1695680 PYTHON Example foo variable string baz characters new
  • node.js - 流文件而不临时保存它

    这是我的设置 我有一个客户端 文件从该客户端上传到node js服务器 serverA 我想从那里将 文件流式传输到另一台服务器 serverB without临时保存文件 在服务器 A 上 实现这一目标的最简单和最好的方法是什么 我可以将
  • 我可以在 PureComponent 中使用 shouldComponentUpdate

    我知道的功能shouldComponentUpdate也PureComponent 但我想知道是否可以将两者一起使用 假设我有很多道具 我想让它们在其中进行浅比较处理PureComponent 除了 1 个道具 需要巧妙地进行比较 那么是否
  • Java - thread.sleep 的替代品

    我需要将 while 循环暂停特定的毫秒数 我尝试过使用 Thread sleep duration 但它不准确 特别是在循环场景中 毫秒精度在我的程序中很重要 这是我不想返回检查条件直到expectedElapsedTime已经过去了 w
  • 无法使用 a2wsgi 让 FastAPI 与 CPanel 配合使用

    似乎很多人都遇到了同样的问题 但到目前为止 它被证明是无法解决的 我希望有人能解决这个问题 我尝试在 cPanel 上运行 FastAPI 并不断收到错误 UID 1293 19858 Child process with pid 2008
  • iOS13 通过滑动(屏幕边缘)弹出视图控制器不起作用

    有正常的UINavigationController与一些堆叠UIViewController按下后 我无法使用 屏幕边缘 滑动手势返回根视图控制器 没有自定义导航栏 没有自定义后退按钮 与使用 后退 滑动手势相关的内容是否发生了变化 我知
  • 为什么这里的外部

    我这里有一个jsfiddle https jsfiddle net Lh7qbye2 7 https jsfiddle net Lh7qbye2 7 这里还有一个测试网页 https shetline com test test01 htm
  • Rx 中立即去抖

    我正在寻找一位运营商debounce一系列的事件 比如说用户的点击 输入和输出应该是这样的 interval gt lt gt lt in 1 2 3 4 5 5 6 7 8 out 1 4 这个想法就像下划线的反跳immediate op
  • 为什么可执行文件无法接收 Makefile 中导出的变量?

    我有一个 makefile 其中导出将由可执行文件接收的变量 但令人惊讶的是可执行文件没有接收导出的值 请帮我 31 test 32 echo 33 echo Testing Electric Fence 34 echo After the
  • 套接字在进程后打开,打开完成

    在服务器端关闭客户端套接字并退出应用程序后 套接字仍会打开一段时间 我可以通过netstat看到它 Every 0 1s netstat tuplna grep 6676 tcp 0 0 127 0 0 1 6676 127 0 0 1 3
  • IIS HTTP 错误 403.1 - 禁止:执行访问被拒绝

    我有一个在 IIS 6 Windows Server 2003 上运行的 ASP NET 1 1 应用程序 这是我们的应用程序 但我们正在尝试专门复制客户的安装 以便将应用程序文件夹从他们的生产服务器完全复制到我们的测试计算机上 然后我们手
  • 查找在线/离线会员总数 Discord.js

    您好 我正在执行服务器状态命令 但我不知道如何查找总成员数在线 离线所以如果有人能帮助我那就太好了 client on message message gt if message author bot return false if mes
  • Django:在现有的 html 页面上返回 StreamingHttpResponse

    由于每个问题最好有一个问题 因此如果与问题的其他部分相似 请耐心等待另一个我的问题 https stackoverflow com questions 29921085 django passing value from form to v
  • 如何在 Silverlight/WPF 中反转裁剪几何体?

    The UIElement Clip http msdn microsoft com en us library system windows uielement clip aspx属性需要一个Geometry http msdn micr
  • 拦截 GWT RequestFactory 请求

    有没有办法在客户端拦截RequestFactory请求 我想拦截这样的调用 dummyRequest dummyOperation fire new Receiver
  • QT 安装程序框架:在简介页面之前添加新的向导页面

    我想在 QT 安装程序向导的介绍页面之前添加新页面 该页面将有图像和按钮 单击按钮后 我将导航到介绍页面 我可以这样做吗 我尝试过 但没有显示 但是 如果我将其添加到其他页面之前 例如 Target Dir 它确实会显示我的页面 有人可以在
  • 大型项目的 Visual Studio 2010 C++ 链接器性能

    在我的公司 我们仍在使用 Visual Studio 2005 但正在研究 Visual Studio 2010 希望它能加快我们开发周期的某些部分 目前 我们最感兴趣的是 Visual Studio 2010 的 C 链接器的性能 在构建