我正在使用 Visual Studio 编译大约 100 个 C++ 项目的大型解决方案。在编译期间,内存、CPU、磁盘或以太网的利用率均未接近 100%(根据“任务管理器性能”选项卡)。CPU 利用率通常低至 25%,内存磁盘利用率似乎低至 5-10%。
那么如果没有资源得到100%的利用,那么瓶颈在哪里呢?是什么限制了我的编译速度?老实说,我本来希望它是CPU。但似乎并非如此。
我可能测量不正确吗?编译时我应该期望什么是限制资源?我怎样才能加快速度?如果还有其他限制(例如 RAM,但通过缓存或其他方式作为 I/O),那么测量瓶颈的正确工具/方法是什么?
附加信息:我当然使用最大并行项目数来构建= 8。此外,所有 Visual C++ 项目都启用了多处理器编译。我的机器有 8 个逻辑处理器。所以我真的认为我不仅仅最大化了一个核心。这在我的机器上表现为 12.5% 的使用率(我在单线程应用程序中经常看到这种情况。)