Meet Carakan and Vega

, , , ,

Carakan

In this post, we'd like to highlight Opera's upcoming ECMAScript/JavaScript engine, called Carakan, as well as our Vega vector graphics library, both of which were announced at the Web Directions North conference in Denver, Colorado.


Carakan

Over the past few months, a small team of developers and testers have been working on implementing a new ECMAScript/JavaScript engine for Opera. When Opera's current ECMAScript engine, called Futhark, was first released in a public version, it was the fastest engine on the market. That engine was developed to minimize 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 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".

We have focused our efforts to improve upon our previous engine in three main areas: register-based bytecode, native code generation and automatic object classification.

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). Since Opera is ported to many different hardware architectures, this cross-platform improvement is on its own very important.

The native code generation in Carakan is not yet ready for full-scale testing, but a few individual benchmark tests we ran show that it is already compatible with runs between 5 and 50 times faster, so it is looking promising so far.

Vega

Vega was created shortly after we started working on SVG support, for which we needed a vector graphics library. We looked into what libraries were available to use and met our requirements (fast, low memory usage and working on platforms ranging from phones to TVs and desktop computers). We did not find and good match for our needs, so we decided to write our own. Shortly after we created Vega we also added <canvas> support.

The most recent addition to Vega is the ability to use a hardware accelerated back-end. The back-ends we are using at the moment are OpenGL and Direct3D.

In the core version we are currently developing, Presto 2.3, we have made it possible to use Vega for all rendering in Opera. This means that we can replace the platform specific code for rendering with Vega. In the future it might be mandatory to use Vega for rendering, but in Presto 2.3 it is still possible to use the old rendering back-ends.

There are three reasons for doing this:

  1. Firstly, the new CSS3 background and borders standard is much easier to implement using a vector graphics library. Presto 2.3 adds partial support for CSS3 backgrounds and borders, but only when using Vega for rendering.
  2. The second reason is to support hardware acceleration of our vector graphics. In order to be able to render SVG and <canvas> in hardware we must also be able to directly draw the rendered vector graphics to the screen since reading back the rendered image from the graphics card is usually slower than rendering in software.
  3. And finally, doing this enables us to easily add advanced graphical effects to our UI and to web pages.

Wallpaper

Be sure to download our wallpaper:

Carakan wallpaper

Other recources

Stay tuned for more in the next couple of months!

Opera and Jon get famous in IndiaRecent news about Opera

Comments

José Torreszetorres Thursday, February 5, 2009 1:17:51 PM

up

Dan Alexandrudantesoft Thursday, February 5, 2009 1:28:39 PM

The name Carakan (発音:チャラカン)

Nice. Stick to IPA next time wink

HenryAOTEAROAnz Thursday, February 5, 2009 1:35:50 PM

Nice! Wallpapers mighty good up
Carakan F.A.Qs

Tamil Thursday, February 5, 2009 2:10:04 PM

Charles SchlossChas4 Thursday, February 5, 2009 2:48:18 PM

Artur „Jurgi” JurgawkaJurgi Thursday, February 5, 2009 4:06:15 PM

Do you need some cheer? Ca-ra-can! Ca-ra-can!

BTW: in Polish „caracan” means „cockroach”. ;P

Dan Alexandrudantesoft Thursday, February 5, 2009 4:14:10 PM

@Jurgi Transliterating the Katakana I got CHA-RA-KA-N not "Ca-ra-can".

sms985 Thursday, February 5, 2009 4:21:14 PM

the news is spreading fast in all geek-blogs and news portals! good for opera!

Ahmed GhanemAhmedGhanem Thursday, February 5, 2009 5:06:31 PM

That's the news !!!!!!!! go spread it out guys !!!!

Ahmed GhanemAhmedGhanem Thursday, February 5, 2009 5:13:43 PM

Digged !!!!

thobi Thursday, February 5, 2009 5:24:57 PM

sounds great up smile

NicoHellbillyDeluxe Friday, February 6, 2009 10:47:55 AM

I am really excited right now.

Any rough ETA when we can see this in action? Please! wink

Dan Alexandrudantesoft Friday, February 6, 2009 11:28:48 AM

2011 wink

ExtAnimal Friday, February 6, 2009 1:10:25 PM

Great news. As someone who works on complex Javascript UIs, I say speed is what we need.

I'm loving running my apps on Chrome right now, so I'm looking forward to this new innovation from Opera.

Sn3ipen Friday, February 6, 2009 1:59:21 PM

Opera will allways be the fastest browser!

cheers

neNDraNendra2008 Saturday, February 7, 2009 5:29:40 AM

:yesyesyesyes:
Its good exsperience!
upup to great thing like dat

Barraco Mármol Jerónimojerobarraco Sunday, February 8, 2009 4:08:13 PM

the wallpaper is really cool, i can't wait for the release smile

FELIX KIMARUFLEXAZZ Thursday, February 12, 2009 5:24:16 AM

Tha O.s. EVER ON THE FRONT.

Nuiy Thursday, February 12, 2009 11:05:37 AM

Hai ??
W bru lho kuT comunity !

Ankuryadavankur Sunday, February 15, 2009 1:08:36 AM

Just curious, how tough would it be to render PDF docs through Vega. It would be a cool feature to have. Right now if I search for something and I find it in PDF, I just skip the results and move on to the next one - or (if I have to) I use "View as HTML" in Google search.

Ankur Srivastava anchorschmidt Sunday, February 15, 2009 3:06:25 PM

YAY!! Will this come in Opera 10???

olawale oluwagbemiga martinsmatcom4 Saturday, February 21, 2009 9:33:40 PM

I am really excited right now.
the news is spreading fast
Opera will allways be the fastest browser 4 me.

Rachmarachmataz Saturday, May 23, 2009 7:32:05 AM

carakan = messenger, right? hehe bigsmile
I think it taken from 'Hanacaraka', Javanese font up

Daniel HendrycksDanielHendrycks Saturday, October 3, 2009 10:46:31 PM

Must test... Hakon said we might get to test it at the end of this year. sherlock
http://bit.ly/tpkgL

Charles SchlossChas4 Saturday, October 3, 2009 10:54:11 PM

Who knows but I know people are excited about Carakan and Vega

Hector Macias Ayalahectormacias Tuesday, December 1, 2009 7:06:12 PM

Any news on this? FF 3.7 Alpha is already using Direct2D and IE9 will be 3D hardware based too. Hope you guys arent too late to this party.

its all just about 3 thing.
presto 2.4, carakan and vega.

d4rkn1ght Wednesday, December 2, 2009 3:29:47 AM

wait zzz

Daniel HendrycksDanielHendrycks Wednesday, December 2, 2009 3:42:14 AM

Originally posted by d4rkn1ght:

:zzz:


Exactly...

Charles SchlossChas4 Wednesday, December 2, 2009 4:02:01 AM

I will smile

Purdi Wednesday, December 2, 2009 12:52:55 PM

Originally posted by hectormacias:

FF 3.7 Alpha is already using Direct2D


And Presto 2.4 is faster even without hardware acceleration.

Hector Macias Ayalahectormacias Saturday, December 12, 2009 7:07:23 AM

Originally posted by Purdi:

And Presto 2.4 is faster even without hardware acceleration.



I know, and with Vega it wil be even more, the thing is I can already testdrive FF 3.7 alpha, while I cant testdrive Presto 2.4

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.