Developer(s) | Opera Software ASA |
---|---|
Stable release |
2.12.423 / 16 March 2015
|
Development status | Active (Opera Mini server-side rendering only) |
Written in | C++ |
Type | Application framework, layout engine |
License | Not licensed |
Website | dev |
Presto was the layout engine of the Opera web browser for a decade. It was released on 28 January 2003 in Opera 7, and later used to power the Opera Mini and Opera Mobile browsers. As of Opera 15, the desktop browser uses a Chromium backend, replacing Presto with the Blink layout engine.
Presto is a dynamic engine. Web pages can be re-rendered completely or partially in response to DOM events. Its releases saw a number of bug fixes and optimizations to improve the speed of the ECMAScript (JavaScript) engine. It is proprietary and only available as a part of the Opera browsers.
A succession of ECMAScript engines have been used with Opera. (For the origin of their names, see Cultural notes below). Pre-Presto versions of Opera used the Linear A engine. Opera versions based on the Core fork of Presto, Opera 7.0 through 9.27, used the Linear B engine. The Futhark engine is used in some versions on the Core 2 fork of Presto, namely Opera 9.5 to Opera 10.10. When released it was the fastest engine around, but in 2008 a new generation of ECMAScript engines from Google (V8), Mozilla (TraceMonkey), and Apple (SquirrelFish) took one more step, introducing native code generation. This opened up for potential heavy computations on the client side and Futhark, though still fast and efficient, was unable to keep up.
In early 2009, Opera introduced the Carakan engine. It featured register-based bytecode, native code generation, automatic object classification, and overall performance improvements. Early access in the Opera 10.50 pre-alpha showed that it is as fast as the fastest competitors, being the winner in 2 out of the 3 most used benchmarks.