我正在使用Visual Studio编译一个大约包含100个C++项目的解决方案。在编译过程中,根据任务管理器性能选项占用率显示,内存、CPU、磁盘和以太网都没有达到接近100%的使用率。CPU占用率通常仅有25%,而内存磁盘利用率似乎只有5-10%。
那么如果没有任何资源使用率达到100%,是什么成了瓶颈?是什么限制了编译速度?我最初的想法是CPU,但现在看来并不是这样。
我可能测量错误吗?在编译过程中,应该期望哪种资源是限制因素?如何加快编译速度?如果存在其他限制因素(例如通过缓存等I/O的RAM),则正确的工具/方法是什么来测量瓶颈?
附加信息:我肯定使用了“最大并行构建项目数”= 8。所有Visual C++项目均启用了“多处理器编译”。我的机器有8个逻辑处理器,因此我真的认为我不仅仅是最大化一个核心的使用。这将在我的机器上呈现出12.5%的使用率(我经常在单线程应用程序中看到这种情况)。
那么如果没有任何资源使用率达到100%,是什么成了瓶颈?是什么限制了编译速度?我最初的想法是CPU,但现在看来并不是这样。
我可能测量错误吗?在编译过程中,应该期望哪种资源是限制因素?如何加快编译速度?如果存在其他限制因素(例如通过缓存等I/O的RAM),则正确的工具/方法是什么来测量瓶颈?
附加信息:我肯定使用了“最大并行构建项目数”= 8。所有Visual C++项目均启用了“多处理器编译”。我的机器有8个逻辑处理器,因此我真的认为我不仅仅是最大化一个核心的使用。这将在我的机器上呈现出12.5%的使用率(我经常在单线程应用程序中看到这种情况)。