Content deleted Content added
Created a stub using the bank processing example. |
mNo edit summary |
||
(41 intermediate revisions by 29 users not shown) | |||
Line 1:
{{Multiple issues|
Adaptive optimization is a technique in [[computer science]] that preforms [[dynamic recompilation]] of portions of a program based on the current execution profile. With a simple implementation, an adaptive optimizer may simply make a trade-off between [[Just-in-time compilation]] and interpreting instructions. At another level, adaptive optimization may take advantage of local data conditions to optimize away branches and to use [[inline expansion]] to decrease context switching.▼
{{Primary sources|date=August 2012}}
{{Refimprove|date=August 2012}}
}}
▲'''Adaptive optimization''' is a technique in [[computer science]] that
Consider a hypothetical banking application that handles transactions one after another.
Examples of adaptive optimization include [[HotSpot (virtual machine)|HotSpot]] and HP's [[Dynamo project|Dynamo system]].<ref>[https://arstechnica.com/reviews/1q00/dynamo/dynamo-1.html HP's Dynamo]</ref>
In some systems, notably the Java Virtual Machine, execution over a range of [[Java bytecode|bytecode instructions]] can be provably 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 of valid. When these assumptions prove incorrect, the adaptive optimizer can 'unwind' to a valid state and then interpret the byte code instructions correctly.▼
▲In some systems, notably the [[Java virtual machine|Java Virtual Machine]]{{Citation needed|date=June 2011}}, execution over a range of [[Java bytecode|bytecode instructions]] can be [[Reversible_computing|provably 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
==See also==
{{Portal|Computer programming}}
* [[Profile-guided optimization]]
* [[Hot spot (computer programming)]]
==References==
{{Reflist}}
==External links==
* [http://citeseer.ist.psu.edu/arnold00adaptive.html CiteSeer for "Adaptive Optimization in the Jalapeño JVM (2000)"] by Matthew Arnold, Stephen Fink, David Grove, Michael Hind, Peter F. Sweeney. Contains links to the full paper in various formats.
[[Category:Compiler optimizations]]
|