文件名称:计时和轮廓-vmware虚拟机中centos安装 centos安装qt的教程图解
文件大小:8.63MB
文件格式:PDF
更新时间:2024-06-29 06:30:04
程序设计实践
7.2 计时和轮廓 自动计时测量。许多系统里都有这种命令,它们可用于测量一个程序到底用了多少时间。 U n i x系统里有关命令的名字是t i m e: 这执行了一个命令,报告出三个数值,都以秒数计:“r e a l (实际 )”时间,程序从开始到完成 的全部时间;“ u s e r”C P U时间,执行用户程序本身所花费的时间;以及“ s y s t e m”(系 统) C P U时间,也就是花费在操作系统内部程序行为方面的时间。如果你的系统里有类似命令, 请使用它。与用秒表计时相比,这样做得到的信息更多,更可靠,也更容易追踪。应该留下 很好的记录。在对一个程序做工作,修改并测量的过程中,你可能积累了大量数据,过一两 天就可能把人搞糊涂了 (哪一个版本的速度快2 0 %?)。我们在关于测试的一章里讨论过许多技 术,它们都可以移植到性能的测量和改进方面来。用机器去运行并测量你的测试集,更重要 的是使用回归测试来保证所做的修改并没有使程序崩溃。 如果在你的系统里没有 t i m e命令,或者你需要孤立地对一个函数进行计时,构造一个计 时平台也很容易,与构造一个测试台差不多。 C和C++ 提供了一个标准函数, c l o c k,它报 告程序到某个时刻总共消耗的 C P U时间。可以在一个函数的执行前和执行后调用 c l o c k,测 量C P U的使用情况: C L O C K S _ P E R _ S E C是个尺度项,表示由c l o c k报告的计时器的分辨率。如果一个函数消 耗的时间远远不到一秒,那么就应该把它放在一个循环里运行,但这时就需要考虑循环本身 的开销,如果这个开销所占的比例很大的话: 在J a v a中,D a t e类里的函数给出的是挂钟时间,它是 C P U时间的近似值: 函数g e t T i m e的返回值以毫秒计。 使用轮廓程序。除了可靠的计时方法外,在性能分析中最重要的工具就是一种能产生轮廓文 第 7章 性 能计计135 下载