Futhark, according to the Opera core developers blog, was developed to minimise code footprint and memory usage rather than to achieve maximum execution speed.
"This has traditionally been a correct trade-off on many of the platforms Opera runs on. The web is a changing environment, however, and tomorrow's advanced Web applications will require faster ECMAScript execution. So we have now taken on the challenge to once again develop the fastest ECMAScript engine on the market," the blog said.
"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," the blog said.
With Carakan, Opera is focusing on improvements in three main areas:
- Register-based bytecode, which requires fewer instructions to be executed and less copying of data.
- Native code generation based on a static type analysis, to reduce overhead.
- Automatic object classification, in which each object is assigned a class that collects various information about the object, such as its prototype and the order of names of some or all properties.
"So how fast is Carakan? 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)," the blog said. With Opera ported to many different hardware architectures, this cross-platform improvement is on its own very important, according to the blog.
"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 run between five and 50 times faster, so it is looking promising so far," the blog said.
Opera testers and developers have been working on Carakan for the past few months, the company said.