Performance tuning

Performance tuning

Performance tuning is the improvement of system performance. 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:
# Assess the problem and establish numeric values that categorize acceptable behavior.
# Measure the performance of the system before modification.
# Identify the part of the system that is critical for improving the performance. This is called the bottleneck.
# Modify that part of the system to remove the bottleneck.
# Measure the performance of the system after modification.

This is an instance of the measure-evaluate-improve-learn cycle from quality assurance.

A performance problem may be identified by slow or unresponsive systems. This usually occurs because high system loading, causing some part of the system to reach a limit in its ability to respond. This limit within the system is referred to as a bottleneck.

A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, and distributed computing, and self-tuning.

Performance analysis

: "See the main article at Performance analysis"

Performance engineering

: "See the main article at Performance engineering"

Code optimization

:"See the main article at Optimization (computer science)".

Enhancing performance by rewriting specific portions of a program to run faster is one form of code optimization. The term code optimization can refer to improving the implementation of a particular algorithm for performing a task (code tuning). It can also refer to utilizing a better algorithm. Examples of code optimization include improving the code so that work is done once before a loop rather than inside a loop or replacing a call to a simple selection sort with a call to the more complicated algorithm for a quicksort.

Caching strategy

Caching is a fundamental method of removing performance bottlenecks that are the result of slow access to data. Caching improves performance by retaining frequently used information in high speed memory, which reduces access "isha" time and thus improves performance. Caching is an effective manner of improving performance in situations where the principle of locality of reference applies.

The methods used to determine which data is stored in progressively faster storage are collectively called caching strategies.

Load balancing

A system can consist of independent components, each able to service requests. If all the requests are serviced by one of these systems (or a small number) while others remain idle then time is wasted waiting for used system to be available. Arranging so all systems are used equally is referred to as load balancing and can improve over-all performance.

Load balancing is often used to achieve further gains from a distributed system by intelligently selecting which machine to run an operation on based on how busy all potential candidates are, and how well suited each machine is to the type of operation that needs to be performed.

Distributed computing

Distributed computing is used to increase the performance of operations that can be performed in parallel, by concurrently executing multiple operations. Operations may be distributed across multiple processes on a single CPU, taking advantage of multitasking, multiple processes across multiple CPUs, or across multiple machines. As operations are executed concurrently, ensuring synchronization between processes is essential to ensure correct results.

As the trend of increasing the potential for parallel execution on modern CPU architectures continues, the use of distributed systems is essential to achieve performance benefits from the available parallelism. High performance cluster computing is a well known use of distributed systems for performance improvements.

Distributed computing and clustering can negatively impact latency while simultaneously increasing load on shared resources, such as database systems. To minimize latency and avoid bottlenecks, distributed computing can benefit significantly from distributed caches.

Self-tuning

A self-tuning system is capable of optimizing its own internal running parameters in order to maximize or minimize the fulfillment of an objective function; typically efficiency or error. Self-tuning systems typically exhibit non-linear adaptive control. Self-tuning systems have been a hallmark of the aerospace industry for decades, as this sort of feedback is necessary to generate optimal multi-variable control for nonlinear processes.

ee also

* Performance Application Programming Interface

External links

* [http://www.articlecity.com/articles/computers_and_internet/article_3255.shtml Tweaking Your System Performance In Windows XP] - Easy to read guide on tuning computer performance.
* [http://www.vertexbuffer.com Online CPU and GPU] - Optimization for video game technology


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • performance tuning — The act of improving a vehicle s performance in general or engine performance in particular, such as upgraded suspension, higher engine output and/or torque, or drag reducing measures, such as the addition of spoilers …   Dictionary of automotive terms

  • Performance engineering — Within systems engineering, performance engineering encompasses the set of roles, skills, activities, practices, tools, and deliverables applied at every phase of the Systems Development Lifecycle which ensures that a solution will be designed,… …   Wikipedia

  • Performance analysis — In software engineering, performance analysis, more commonly today known as profiling, is the investigation of a program s behavior using information gathered as the program executes (i.e. it is a form of dynamic program analysis, as opposed to… …   Wikipedia

  • tuning — The adjustment of the carburetor, ignition timing, etc. to improve performance. See exhaust tuning performance tuning quartz tuning system …   Dictionary of automotive terms

  • Performance (disambiguation) — A performance art is an event in which one group of people (the performer or performers) behave in a particular way for another group of people (the audience).Performance may also refer to: * a ritual in a religious or occult setting * the… …   Wikipedia

  • Tuning — (englisch tune ‚Harmonie, Einklang‘) bezeichnet in der Musik das Stimmen von Instrumenten, siehe Stimmung (Musik) bei Geräten allgemein die Kalibrierung bei Rundfunkempfangsgeräten die manuelle oder automatische Abstimmung auf einzelne Sender das …   Deutsch Wikipedia

  • Tuning — Le tuning, ou personnalisation automobile[1] (ou encore préparation automobile), est la modification d un véhicule de série ; automobile, moto, vélo, scooter, etc. Dans certains cas le but est d améliorer les performances d un véhicule ou… …   Wikipédia en Français

  • Tuning-World — Logo der Tuning World Die Tuning World Bodensee ist eine internationale Messeveranstaltung für Auto Tuning. Sie findet seit 2003 in der Messe Friedrichshafen statt und hat sich seitdem als größte Tuningmesse in Europa etabliert. Auf der Tuning… …   Deutsch Wikipedia

  • Tuning World — Logo der Tuning World Die Tuning World Bodensee ist eine internationale Messeveranstaltung für Auto Tuning. Sie findet seit 2003 in der Messe Friedrichshafen statt und hat sich seitdem als größte Tuningmesse in Europa etabliert. Auf der Tuning… …   Deutsch Wikipedia

  • Tuning World Bodensee — Logo der Tuning World Die Tuning World Bodensee ist eine internationale Messeveranstaltung für Auto Tuning. Sie findet seit 2003 in der Messe Friedrichshafen statt und hat sich seitdem als größte Tuningmesse in Europa etabliert. Auf der Tuning… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”