Computer performance is characterized by the amount of useful work accomplished by a computer system compared to the time and resources used.
Depending on the context, good computer performance may involve one or more of the following:
Contents |
Computer performance metrics include availability, response time, capacity, latency, completion time, service time, bandwidth, throughput, relative efficiency, scalability, Performance per watt, and speed up. In Communication networks, such as Ethernet or Packet radio, throughput is the average rate of successful message delivery over a communication channel A resource, or system resource, is any physical or virtual component of limited availability within a computer system High availability is a System design protocol and associated implementation that ensures a certain absolute degree of operational continuity during a given measurement period A metric is a standard unit of measure such as Meter or Gram, or more generally part of a system of parameters or Systems of measurement, or a set of In Telecommunications and Reliability theory, the term availability has the following meanings 1 In Communication networks, such as Ethernet or Packet radio, throughput is the average rate of successful message delivery over a communication channel In Statistics, efficiency is one measure of desirability of an Estimator. In Telecommunications and Software engineering, scalability is a desirable property of a system a network or a process which indicates its ability to either In Computing, performance per watt is a measure of the Energy efficiency of a particular Computer architecture or Computer hardware. In Parallel computing, speedup refers to how much a Parallel algorithm is faster than a corresponding sequential Algorithm.
Computer software performance, particularly software application response time, is an aspect of software quality that is important in human–computer interactions. Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform In the context of Software engineering, software quality measures how well Software is designed ( quality of design) and how well the software conforms Human–computer interaction or HCI is the study of interaction between people ( users and Computers It is often regarded as the intersection of
The performance of any computer system can be evaluated in measurable, technical terms, using one or more of the metrics listed above. This way the performance can be
- compared relative to other systems or the same system before/after changes
- defined in absolute terms, e. g. for fulfilling a contractual obligation
Whilst the above definition relates to a scientific, technical approach, the following definition given by Arnold Allen would be useful for a non-technical audience:
The word performance in computer performance means the same thing that performance means in other contexts, that is, it means "How well is the computer doing the work it is supposed to do?"[1]
There are a wide variety of technical performance metrics that indirectly affect overall computer performance. Arnold Oral Allen was an American instructor public speaker and writer who worked at IBM and Hewlett-Packard, and specialized in the analysis and Mathematical Occasionally a CPU designer can find a way to make a CPU with better overall performance by improving one of these technical performance metrics without sacrificing any other (relevant) technical performance metric -- for example, building the CPU out of better, faster transistors. CPU design is the Design engineering task of creating a Central processing unit (CPU a component of Computer hardware. However, sometimes pushing one technical performance metric to an extreme leads to a CPU with worse overall performance, because other important technical performance metrics were sacrificed to get one impressive-looking number -- for example, the Megahertz myth. The megahertz myth, or less commonly the gigahertz myth, refers to the error of using Clock rate to compare the performance of different Microprocessors
The total amount of time required to execute a particular benchmark program is
t=N*C/f
where
Even on one machine, a different compiler or the same compiler with different compiler optimization switches can change N and CPI -- the benchmark executes faster if the new compiler can improve N or C without making the other worse, but often there is a tradeoff between them -- is it better to use a few complicated instructions that take a long time to execute, or to use instructions that execute very quickly, although it takes more of them to finish the benchmark?
A CPU designer often is required to implement a particular instruction set, and so cannot change N. Compiler optimization is the process of tuning the output of a Compiler to minimize or maximize some attribute of an Executable computer program An instruction set is a list of all the instructions and all their variations that a processor can execute Sometimes a designer focuses on improving performance by making significant improvements in f (with techniques such as deeper pipelines, faster caches), while (hopefully) not sacrificing too much C -- leading to a speed-demons CPU design. Speed demon is a term which sometimes has been used to denote a CPU design which favors high clock speed over high instructions per clock (IPC, particularly regarding Sometimes a designer focuses on improving performance by making significant improvements in CPI (with techniques such as out-of-order execution, superscaler CPUs, larger caches, caches with improved hit rates, improved branch prediction, speculative execution, etc), while (hopefully) not sacrificing too much clock frequency -- leading to a brainiac CPU design.