Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Adaptive optimization

From Wikipedia, the free encyclopedia
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
icon
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "Adaptive optimization" – news ·newspapers ·books ·scholar ·JSTOR
(August 2012) (Learn how and when to remove this message)
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Adaptive optimization" – news ·newspapers ·books ·scholar ·JSTOR
(August 2012) (Learn how and when to remove this message)
(Learn how and when to remove this message)

Adaptive optimization is a technique incomputer science that performsdynamic recompilation of portions of aprogram based on the current execution profile. With a simple implementation, an adaptive optimizer may simply make a trade-off betweenjust-in-time compilation andinterpreting instructions. At another level, adaptive optimization may take advantage of local data conditions to optimize away branches and to useinline expansion to decrease the cost of procedure calls.

Consider a hypothetical banking application that handles transactions one after another. These transactions may be checks, deposits, and a large number of more obscure transactions. When the program executes, the actual data may consist of clearing tens of thousands of checks without processing a single deposit and without processing a single check with a fraudulent account number. An adaptive optimizer would compile assembly code to optimize for this common case. If the system then started processing tens of thousands of deposits instead, the adaptive optimizer would recompile the assembly code to optimize the new common case. This optimization may include inlining code.

Examples of adaptive optimization includeHotSpot and HP'sDynamo system.[1]

In some systems, notably theJava Virtual Machine[citation needed], execution over a range ofbytecode instructions can beprovably reversed. This allows an adaptive optimizer to make risky assumptions about the code. In the above example, the optimizer may assume all transactions are checks and all account numbers are valid. When these assumptions prove incorrect, the adaptive optimizer can 'unwind' to a valid state and then interpret the byte code instructions correctly.

See also

[edit]

References

[edit]
  1. ^HP's Dynamo

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Adaptive_optimization&oldid=1327254394"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp