计算机性能
在不同计算机中挑选合适的产品,性能是及其重要的因素。精确地测量和比较计算机之间的性能对于购买者和设计者都很重要。计算机性能主要由两方面因素决定:响应时间和吞吐率。在不同情况下我们对二者的侧重点也不同。
1 响应时间
如果我们在两台不同的计算机上运行同一个程序,那么首先完成作业的那台计算机更快,也就是其响应时间更小,性能更好。响应时间,也叫执行时间,是计算机完成某任务的总时间,包括:硬盘访问,内存访问,I\O活动,操作系统开销和cpu执行时间等。
2 吞吐率
如果你运行的是一个数据中心,它有好几台服务器供多用户投放作业,那应该说一天之内完成作业最多的那台计算机更快,也就是吞吐率更高,性能更好。吞吐率,也叫带宽,表示单位时间内完成的任务数量。
性能的度量
若用时间度量计算机性能,那么完成同样的计算任务,需要时间最少的计算机是最快的,也就是用响应时间来度量。多用户经常共享一台计算机,一个处理器需同时运行几个程序,系统更侧重于优化吞吐率,而不是最小化一个程序的响应时间。因此,我们往往用cpu执行时间,简称cpu时间表示某一任务在cpu上花费的时间,而不包括I\O或运行其他程序的时间。cpu时间还可进一步分为用于用户程序的时间和操作系统为用户服务花去的时间,前者称为用户cpu时间,后者成为系统cpu时间。
经典cpu性能公式
cpu时间=指令数 * cpi * 时钟周期时间
cpi:每条指令的时钟周期数
这个公式特别有用,它把性能分解为三个关键因素。如果知道实现方案或替代方案如何影响这三个参数,我们可用此公式比较不同的实现方案或评估某个设计的替代方案。