A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, and distributed computing. See each section below.
Code optimization Enhancing performance by rewriting specific portions of a program to run faster is one form of code optimization.
Caching strategy Just like anything else, modern computer systems are the result of trade-offs between cost and performance. Increasingly fast data storage systems are increasingly expensive. Thus, large disk drives are cheap; RAM is faster, but more expensive; off-CPU cache memory is faster yet even more expensive, and on-CPU cache is the fastest but most expensive form of storage.
The time required to repeatedly read the same data from a disk storage unit (hard drive) may be significantly decreased by temporarily storing that data in a small area of RAM. Similarly, repeated RAM reads may be improved by temporarily storing that data in off-CPU cache, and off-CPU cache read times may be improved by storing that data in on-CPU cache.
The methods used to determine which data is stored in progressively faster storage are collectively called caching strategies.
Distributed computing / load balancing To be written
Performance tuning is the activity of improving the performance of a system. This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems. The motivation for such activity is called a performance problem, which can be real or anticipated. Most systems will respond to increased load with some degree of decreasing performance. A system's ability to accept higher load is called scalability, and modifying a system to handle a higher load is synonymous to performance tuning.
Systematic tuning follows these steps:
This is an instance of the measure-evaluate-improve-learn cycle from quality assurance.
See also computer science, queueing theory, simulation.
In organizational development (OD), a performance problem is found any time there is a discrepancy between the sought-after results and the actual results. This can occur at various levels:
There are many causes of performance problems including:
Search Encyclopedia
|
Featured Article
|