Software Performance Basics - Quick Reference
Thursday, September 3, 2009
How Much Hcl And Nahco3 For One Liter
Often when we forget that programming is not just about writing lines of code to "do something" and now, we forget that the development environment in which we work does not have the tenth of the workload that has a productive and in this last case we do not consider, in the worst-and we have to do a review of the hot spots might still be presenting the bottleneck. Reading a blog post by Cary Millsap I found what he called a
Quick Reference "on the Foundations of Software Performance"
of the terms that we should keep in mind when something does not work efficiently. Glossary efficiency is a measure of how much resources is consuming the execution of a task. Efficiency is the inverse of how much of the total service time of the execution of the task can be eliminated without sacrificing capacity or increase their business function.
occupation is the value of using a resource whose transfer rate is maximized with minimal impact on response times. The value of occupancy for a given number of service channels is less than or equal to the value shown below:
#
| 1 2 4 | 8 | 16 32 64 | 128 | Occupation | ||||
| 50% 57% 66% | 74% 81% 86% | 89% 92% | load |
execution speed performance of the task, measured either as a transfer rate or response time.
Decomposition tabular profile of response time, usually listed in descending order of the response time contribution of the component.
delay in queue length that a task spends glued on a given resource, waiting for their opportunity to consume, as measured by task execution time: click
seconds. response time duration of execution of a task, measured in time per task: click
seconds. The response time is the sum of the delay in the queue and service time. sequence diagram is a diagram specified in the Modeling Language Unified (UML), used to show interactions between objects in the sequential order in which they occur. This diagram is useful to visualize the response time.
service channel A sub-resource sharing a single queue with other sub-resources, a toll booth in a mall or a CPU in an SMP computer.
service time duration that a task passes a given resource consuming, as measured by task execution time: click
seconds. task-oriented work unit business. These can be nested:
print invoices
is a task, print an invoice -subtask- is also a task. Count transfer rate of executions completed the task within a specific time interval:
clicks per second. Using resource use divided by capacity for a specific time interval, a quantitative measure of load.
Principles 1. A
sequence diagram is a useful tool to conceptualize the response time, however, for tasks that run thousands of invocacioes (even dozens), it is more useful
profile. 2. The transfer rate is the reciprocal of the time response. If you add load to create high transfer rates change the response time as you add
waiting in line. 3. The difference between the response time of a task that has a resource with light load and response time under heavy load is waiting in the queue. 4. The duration of a task in the queue for a resource depends on the number of service channels
of this resource in addition to its load
: Add service channels reduces the wait in line for a given load. However, the benefit decreases when the add.
- Reduce the load decreases in the queue waiting for a given architecture. There is no limit to reduce the load scalability
- 5. The occupation is the use value that defines the threshold between light and heavy load on a resource.
- In an action under heavy loads, response times are degraded when the load grows exponentially.
- In an action under heavy loads, improve response times when the load decreases exponentially
- 6. For systems with service requests random time, allowing sustained heavy expenditure of resources to the value of occupancy results in severely degraded response times and transfer rates that fluctuate constantly with microscopic changes in the load.
- 7. For a set of resources of a computer, you can improve performance by making the code run fast
eliminating unnecessary instructions in the code or code that competes against your code to seize resources. 8. Improve your code approach efficiently reduces the time and service charge, which improves response time, which improve performance exponentially resources too heavy.
9. Can not optimize the transfer rate of a task ineffective. To analyze the efficiency of a task, you must analyze its response time. Hence, to optimize the transfer rate must first analyze the response time. 10. Do not guess the first in which a program is time consuming, and ineffective attempt to optimize anything you see. Analyze their behavior helps to write code that is faster.
Go
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment