Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度相关的知识,希望对你有一定的参考价值。

原文:Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度

嫌项目编译太慢?不一定是 Visual Studio 的问题,有可能是你项目的引用关系决定这个编译时间真的省不下来。

可是,编译瓶颈在哪里呢?本文介绍 Parallel Builds Monitor 插件,帮助你迅速找出编译瓶颈。


下载安装 Parallel Builds Monitor

前往 Parallel Builds Monitor - Visual Studio Marketplace 下载插件安装。

之后启动 Visual Studio 2019,你就能在 “其他窗口” 中找到 “Parallel Builds Monitor” 窗口了。请点击打开它。

编译项目

现在,使用 Visual Studio 编译一个项目,点开这个窗口,一个正在进行中的甘特图将呈现出来:

技术图片

寻找瓶颈

我们可以通过此插件寻找到多种可能的瓶颈:

  1. 项目依赖瓶颈
  2. CPU 瓶颈
  3. IO 瓶颈

项目依赖瓶颈

看上面的那张图,这里存在典型的项目依赖瓶颈。因为在编译的中后期,几个编译时间最长的项目,其编译过程完全是串联起来编译的。

这里串联起来的每一个项目,都是依赖于前一个项目的。所以要解决掉这部分的性能瓶颈,我们需要断开这几个项目之间的依赖关系,这样它们能变成并行的编译。

CPU 瓶颈

通常,CPU 成为瓶颈在编译中是个好事情,这意味着无关不必要的编译过程非常少,主要耗时都在编译代码的部分。当然,如果你有一些自定义的编译过程浪费了 CPU 占用那是另外一回事。

比如我之前写过自己可以做一个工具包,在编译期间会执行一些代码:

IO 瓶颈

IO 本不应该成为瓶颈。如果你的项目就是存在非常多的依赖文件需要拷贝,那么应该尽可能利用差量编译来避免重复拷贝文件。


参考资料


我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

技术图片

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

发布了382 篇原创文章 · 获赞 232 · 访问量 47万+

以上是关于Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度的主要内容,如果未能解决你的问题,请参考以下文章

Parallel NSight for Visual Studio 2010 支持在服务器上调试吗?

如何让 Visual Studio 中的 Intel Parallel 运行 .f77、.f9​​5 等?

在visual studio中运行OpenMP并行程序,设置的线程数NUM_THREADS与系统CPU线程数啥关系

使用 Cygwin 和 Intel Parallel Studio 编译 IPOPT

通过安装 intel parallel X studio 使用 Cilk 库

如何使用英特尔 Parallel Studio XE 分析 C++ 代码?