Softpedia
 

NEWS CATEGORIES:



NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
Home > News > Microsoft > Windows Software

February 5th, 2009, 16:27 GMT · By

New Opera Carakan Engine Two and a Half Times Faster than Opera 10 Alpha Presto 2.2

SHARE:

Adjust text size:


Opera 10.0 Alpha
Enlarge picture
Future versions of Opera will be at least two and a half times faster than what the company currently offers to its users. This because of the introduction of Carakan, a newly developed ECMAScript/JavaScript engine for the browser, which leaves Opera 10 Alpha's Presto 2.2 in the dust. The end purpose with Carakan is that Opera will build, implement and subsequently make available in its browser the fastest ECMAScript engine on the market. A goal that is much more difficult as rivals from Mozilla and Google are using similar development strategies, focusing on delivering top, and increasing, speed with Firefox and Chrome.

“Using a regular cross-platform switch dispatch mechanism (without any generated native code) Carakan is currently about two and a half times faster at the SunSpider benchmark than the ECMAScript engine in Presto 2.2 (Opera 10 Alpha). Since Opera is ported to many different hardware architectures, this cross-platform improvement is on its own very important,” revealed Jens Lindstrom, Opera developer. “The native code generation in Carakan is not yet ready for full-scale testing, but the few individual benchmark tests that it is already compatible with runs between 5 and 50 times faster, so it is looking promising so far.”

According to Lindstrom, Opera's current ECMAScript engine, dubbed Futhark, had a minimal footprint and memory usage when it was initially introduced, but the focus was not placed on achieving the maximum possible execution speed. However, with Carakan, Opera is taking on a completely different approach, in an attempt to keep up the pace with the general evolution of the web. “The name Carakan, like the names of Opera's previous ECMAScript engines, Futhark, Linear A and Linear B, is the name of a writing system, or 'script',” Lindstrom said, adding that the development efforts are focused into three critical areas: register-based bytecode, native code generation and automatic object classification.

“In the new engine, we've opted for a register-based bytecode instruction set. In a register-based machine, instead of a dynamically sized stack of values, there's a fixed size block of them, called 'registers'. Instead of only looking at the values at the top of the stack, each instruction can access any register. Since there is no need to copy values to and from the top of the stack to work on them, fewer instructions need to be executed, and less data needs to be copied,” Lindstrom explained.

Moving forward, Carakan will not rely on faster bytecode execution, although such scenarios are possible. Instead, Opera is tweaking the engine so that it is capable of compiling ECMAScript programs and functions into native code. On top of this, Carakan will also be able to generate native code designed to match simple regular expressions. Both tactics lead to gains in performance.

“Another area of major improvement over our current engine is in the representation of ECMAScript objects,” Lindstrom revealed. “In the new engine, each object is assigned a class that collects various information about the object, such as its prototype and the order and names of some or all of its properties. Class assignment is naturally very dynamic, since ECMAScript is a very dynamic language, but it is organized such that objects with the same prototype and the same set of properties are assigned the same class.”

However, the company is in no hurry to implement the new Carakan ECMAScript/JavaScript engine into the Opera browser. According to the Opera Desktop QA manager, end users should not expect to see Carakan in Opera 10.

Opera 10.0 Alpha for Windows is available for download here.

Opera 10.0 Alpha for Linux is available for download here.

Opera 10.0 Alpha for Mac OS X is available for download here.

TELL US WHAT YOU THINK:

5,544 hits · Link to this article · Print article · Send to friend · Subscribe to news

MUST-READ RELATED ARTICLES:


Why EU Won't Force Microsoft to Bundle Firefox with Windows

IE in Free-Fall, Feeding the Growth of Firefox and Google Chrome

Download Opera 10.0 Alpha Build 1219

IE7 vs. Chrome 1.0 vs. Opera 9.62 vs. Firefox 3.0.4 vs. Safari 3.2 vs. Password Security

Download Google Chrome Final (Out of Beta in 100 Days)

READER COMMENTS:



No user comments yet.
Be the first to express your opinion!
Copyright © 2001-2012 Softpedia. Contact/Tip us at

WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM