Carakan: nowy silnik Opery

Opera Software na łamach blogu zespołu odpowiedzialnego za rozwój produktu poinformowała o opracowaniu nowego silnika przeglądarki Opera - Carakan. Nowy engine, bazujący na rejestrze wirtualnym JavaScriptu, jest ponoć 2,5 razy szybszy od poprzednika - SunSpidera. To jednak nie jedyna innowacja Carakana.

Usprawnienia Carakana dotyczą trzech głównych aspektów: kodu bajtowego, obsługi natywnego kodu oraz automatycznej klasyfikacji obiektów.

Dotychczas engine Opery korzystał ze zbioru instrukcji kodu bajtowego bazującego na stosie. Mówiąc krótko proces sprowadza się do zdejmowania argumentów ze stosu, następnie ich przetwarzania i ponownego umieszczania w zbiorze. W ten sposób można generować zwarty kod. Taki model stanowi duże uproszczenie dla programistów tworzących zgodne aplikacje webowe. Carakan oparty będzie jednak na tzw. rejestrach. Redukuje to znacznie liczbę wykonywanych operacji.

Kolejną nowością jest implementacja kompilatora, który przekształca (całość lub część) EMEAScriptu na kod natywny. Znacznie odciąża to ilość operacji wykonywanych wewnątrz maszyny wirtualnej.

Ostatnim novum jest automatyczna klasyfikacja obiektów, odbywająca się w pełni dynamicznie. Silnik przydziela obiekty do klas, które zawierają rozmaite informacje, np. porządek i nazwa własności.

Programiści usprawnili także bibliotekę VEGA, odpowiadającą za generowanie SVG i Cairo. Od tej pory można wykorzystać sprzętową akcelerację 3D, zarówno opartą na DirectX Microsoftu, jak i OpenGL.

Nowy engine znajduje się obecnie w bardzo wczesnej fazie rozwoju. Z pewnością trafi do przyszłych wersji Opery. Nie wiadomo jednak kiedy się to stanie.

Więcej informacji: oficjalny blog zespołu Opera Software (w j. ang.)