我正在努力加快编译我的应用程序所花费的时间,我正在调查的一件事是检查我可以添加到构建机器的哪些资源以加快速度。为此,我如何确定是否应该投入更多的CPU,更多的RAM,更好的硬盘或者该进程是否受到其他资源的约束?我已经看到了这个(How to check if app is cpu-bound or memory-bound?),我正在寻找更多提示和指示。
到目前为止我尝试过:
在构建计算机上与本地计算机上的进程计时。我发现构建机器需要的时间是我的机器的两倍。
运行“资源监视器”并查看进程运行时的CPU使用率,内存使用情况和磁盘使用情况 - 在执行此操作时,我无法解释数字,主要是因为我不明白每个列的内容意味着如何转换为虚拟机与物理盒以及它对多CPU盒的意义。
答案 0 :(得分:2)
开始>运行> PERFMON.EXE
性能监视器可以绘制许多系统指标,可用于推断出瓶颈所在的位置,包括CPU负载,操作,页面文件命中等。
此外,Platform SDK现在包含一个名为XPerf的工具,可以提供与开发人员更相关的信息。
答案 1 :(得分:0)
Random-pausing将告诉您CPU和I / O时间之间的百分比分配。
基本上,如果您抓取10个随机堆栈照片,并且如果80%(例如)时间在I / O中,那么在8 +/- 1.3个样本上,堆栈将进入读取或写入的系统例程缓冲。 如果您想要更高的精度,请采取更多样本。