Overhead (computing)
≈ 3 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
In computing, overhead is the consumption of computing resources for aspects that are not directly related to achieving a desired goal. Overhead is required for more general processing and impacts achieving a more focused goal. Overhead manifests as aspects such as slower processing, less memory, less storage capacity, less network bandwidth, and longer latency. Overhead can impact software design with regard to structure, error correction, and feature inclusion. Overhead in computing is a special case of engineering overhead and has the same essential meaning as in business: organizational overhead.
In computing, overhead is the consumption of computing resources for aspects that are not directly related to achieving a desired goal. Overhead is required for more general processing and impacts achieving a more focused goal. Overhead manifests as aspects such as slower processing, less memory, less storage capacity, less network bandwidth, and longer latency. Overhead can impact software design with regard to structure, error correction, and feature inclusion. Overhead in computing is a special case of engineering overhead and has the same essential meaning as in business: organizational overhead. ==Software design== ===Choice of implementation=== A programmer or software engineer may have a choice of several algorithms, encodings, data types or data structures, each of which has known characteristics. When choosing among them, their respective overhead should also be considered. ===Tradeoffs=== In software engineering, overhead can influence the decision whether or not to include features in new products, or indeed whether to fix bugs. A feature that has a high overhead may not be included or needs a big financial incentive to do so. Often, even though software providers are well aware of bugs in their products, the payoff of fixing them is not worth the cost, because of the overhead. For example, an implicit data structure or succinct data structure may provide low space overhead, but at the cost of slow performance (space/time tradeoff). ===Run-time complexity of software=== Algorithmic complexity is generally specified using Big O notation. This makes no comment on how long something takes to run or how much memory it uses, but how its increase depends on the size of the input. Overhead is deliberately not part of this calculation, since it varies from one machine to another, whereas the fundamental running time of an algorithm does not. This should be contrasted with algorithmic efficiency, which takes into account all kinds of resources a combination (though not a trivial one) of complexity and overhead. ==Examples== ===CPU cache metadata=== In a CPU cache, capacity is the maximum amount of data that it stores, including overhead data, not how much user content it holds. For instance, a 4 KB capacity cache stores less than 4 KB of user data since some of the space is required for overhead bits such as frame, address, and tag information. 2011 07 12 07 18 47 The 349 bytes, resulting from the UTF-8 encoded XML, correlate to a size overhead of 8625% over the original integer representation. ==See also== Slack space Rule of least power Universal Turing machine ==References==
Text derived from https://en.wikipedia.org/w/index.php?oldid=1333124192 under CC BY-SA 4.0; modifications have been made.