티스토리 뷰


Google unveils super-fast Crankshaft Javascript engine for Chrome browser

 

If you thought Google Chrome was the fastest browser out there, well, it just got a whole lot faster again. Google realizes Chrome is known for its speed and users appreciate that, so its engineers have been hard at work trying to turn the Javascript engine up to 11 on the speed scale. The result is a new engine called Crankshaft.
크롬이 유명해진 이유가 속도라는 것을 아는 구글인 Crankshaft 라는 새로운 엔진을 내놓으면서 자바스크립트 엔진 속도를 높임

The performance is meant to be blindingly fast, with Google claiming performance on compute-intensive Javascript applications improves by a factor of two when using Crankshaft. For anyone taking advantage of HTML5 and Javascript to build web apps, that’s very good news.
성능이 눈부시게 빨라졌음을 보여줌, HTML5 와 웹 어플레이케이션을 비드하는 자바스크립트에게는 희소식  

When it comes to benchmarks, the teams working on IE, Firefox, and Opera might be a bit wide-eyed at these claims:

The benchmarks that benefit the most from Crankshaft are Richards, DeltaBlue and Crypto. This shows that we have taken the performance of JavaScript property accesses, arithmetic operations, tight loops, and function calls to the next level. Overall, Crankshaft boosts V8’s performance by 50% on the V8 benchmark suite. This is the biggest performance improvement since we launched Chrome in 2008.

Crankshaft 는 V8의 성능을 50% 까지 올림

For the typical user it means faster page loads, with Gmail given as an example of a web app that will run 12% faster on Crankshaft.

If you want to try it then Google has made Crankshaft available in the Canary Build of Chrome for 32-bit Intel platforms. ARM and 64-bit ports are going to take a bit longer.


Crankshaft uses adaptive compilation to improve both start-up time and peak performance. The idea is to heavily optimize code that is frequently executed and not waste time optimizing code that is not. Because of this, benchmarks that finish in just a few milliseconds, such as SunSpider, will show little improvement with Crankshaft. The more work an application does, the bigger the gains will be.

Crankshaft has four main components: Crankshaft 의 네가지 주요 구성요소
A base compiler which is used for all code initially. The base compiler generates code quickly without heavy optimizations. Compilation with the base compiler is twice as fast as with the V8 compiler in Chrome 9 and generates 30% less code.
기본 컴파일로 모든 코드의 초기화에 사용. 기본 컴파일러는 무거운 최적화 없이 빠르게 코드를 생성한다. 이것은 크롬 9에서 거의 2배나 빠르고 코드 발생도 20% 절감한다.
A runtime profiler which monitors the running system and identifies hot code, i.e., code that we spend a significant amount of the time running.
런타임 프로파일러는 실행되는 시스템을 모니터하고 핫 코드를 확인한다.
An optimizing compiler which recompiles and optimizes hot code identified by the runtime profiler. It uses static single assignment form to perform optimizations such as loop-invariant code motion, linear-scan register allocation and inlining. The optimization decisions are based on type information collected while running the code produced by the base compiler.
최적화 컴파일러는 런타인 프로파일로를 가지고 핫 코드를 재컴파일하고 최적화 한다.
Deoptimization support which allows the optimizing compiler to be optimistic in the assumptions it makes when generating code. With deoptimization support, it is possible to bail out to the code generated by the base compiler if the assumptions in the optimized code turn out to be too optimistic.
V8 with Crankshaft for the 32-bit Intel architecture is available today in the V8 bleeding edge repository and in canary builds of Chrome. Work on the ARM and 64-bit ports has started.

댓글