电脑性能(Computer Performance)一般会以电脑系统在指定时间和使用资源的条件下,所完成工作的数量来表示。
依上下文的不同,电脑性能的“良好”可能包括以下项目中的一项或几项:
电脑软件的性能,特别是应用软件的反应时间,是软件质量的内容之一,在人机交互中也很重要。
和电脑性能有关的度量包括可用性、反应时间、信道容量、延迟 (工程)(英语:Latency (engineering))、频寛、吞吐量、相对效率(英语:Relative efficiency)、可扩放性、性能功耗比、压缩比、指令路径长度(英语:instruction path length)及加速倍率。也可以利用CPU的基准测试。
电脑系统的性能可以用可量测的技术用词来表示,会用到一个或多个上述的度量。性能可以用以下的方法表示:
- 和其他系统比较,或是将系统变更前后的性能相比较
- 以绝对度量来表示,例如符合合约上所列的功能
以上的定义用到一些科技相关的术语。以下是科学家阿诺·艾伦(英语:Arnold Allen)所提出,比较可以让非科技背景听众了解的定义:
在“电脑性能”一词中提到的“性能”其实和其他情形下提到的性能一様,其性能是指“电脑可以将它应该要完成的工作做到多好?”
有许多的技术量测资料间接的会影响电脑的性能。
由于测试电脑的速度及性能需执行许多的程序,因此开发了基准测试软件集成这些程序。以下是一个重要的量测资料:
有时CPU设计者有办法提升其中一项特性,又不会牺牲其他特性,例如使用最好最快的晶体管来设计CPU,此时就可以提升CPU的整体性能。
不过有时若过分强调其中一项特性,往往会使其他重要特性变差,因此反而让整体的性能的变差,例如只强调CPU高MIPS,高工作频率时,可能会使功率提高,性能功耗比也可能下降。
执行某特定基准测试软件需要的时间t为
其中
即使针对同一台机器,使用不同的编译器或是甚至只是相同编译器的不同编译器优化(英语:compiler optimization)都会影响N和CPI,若调整后可以提升N或C,但另外一项没有显著变差,基准测试程序会执行的更快。但一般情形下提升其中一项后,另一项可能就会变差,因此需在二者中作一取舍。例如是否需要使用一些复杂且执行时间较长的指令,使执行指令个数变短?或是只利用可以许多简单且可以快速执行的指令,虽执行指令个数变长,但每个指令周期数可以下降?
CPU设计者常需要实现一组特定的指令集,因此无法调整N。有时设计者会借由大幅提升f,但不会牺牲C太多的方式提升性能(例如用更深的流水线或更快的缓存),所得的是speed-demon的CPU设计。有时设计者会借由大幅提升CPI(例如利用超序执行、超标量CPU、大容量缓存、高击中率的缓存、提升分支预测、推测性执行(英语:speculative execution)等技术),但不会牺牲f太多的方式提升性能,所得的是brainiac的CPU设计。针对特定的指令集(因此N不变)及固定的半导体制程,单一线程的最大性能(1/t)需要在上述二个技术中作一平衡。