
The new version of V8 will be 50% faster
- Transfer
Today we present to you Crankshaft (crankshaft - approx. Per. ), A new compilation infrastructure for V8, JavaScript engine Google Chrome. Using aggressive optimization, Crankshaft significantly improves the performance of resource-intensive JavaScript applications - often more than double! This makes web pages and applications that use complex code more responsive and faster for users. Compare Chrome performance with and without Crankshaft on the standard V8 test suite :

Most of all, Crankshaft improves the test scores of Richards, DeltaBlue and Crypto. This shows that we have accelerated operations to access the properties of objects, arithmetic operations, heavy loops, and function calls. Overall, Crankshaft increases V8 performance by 50% on this test suite. This is the biggest break since Chrome was released in 2008:

In addition to increasing the peak performance measured by tests, Crankshaft also accelerated the initialization time of web applications such as GMail. Our page reload test showed that Crankshaft speeds up page loading time with a significant amount of JavaScript code by 12%.
Crankshaft uses adaptive compilation to improve both startup time and maximum performance. The idea is to significantly optimize frequently executed code and not waste time optimizing code that is rarely executed. Because of this, tests running in a few milliseconds (such as SunSpider) will show only slight acceleration when using Crankshaft. The larger the application, the greater the effect of the new engine.
Crankshaft consists of four main components:
We are pleased with the speed of JavaScript code that we have achieved with Crankshaft. Crankshaft provides an excellent infrastructure to further accelerate V8, and we will continue to push for increased JavaScript performance for the next generation of web applications.
Kevin Millikin, Software Engineer and Florian Schneider, Software Engineer
[1] Thanks to mraleph for clarifying the translation .

Most of all, Crankshaft improves the test scores of Richards, DeltaBlue and Crypto. This shows that we have accelerated operations to access the properties of objects, arithmetic operations, heavy loops, and function calls. Overall, Crankshaft increases V8 performance by 50% on this test suite. This is the biggest break since Chrome was released in 2008:

In addition to increasing the peak performance measured by tests, Crankshaft also accelerated the initialization time of web applications such as GMail. Our page reload test showed that Crankshaft speeds up page loading time with a significant amount of JavaScript code by 12%.
Crankshaft uses adaptive compilation to improve both startup time and maximum performance. The idea is to significantly optimize frequently executed code and not waste time optimizing code that is rarely executed. Because of this, tests running in a few milliseconds (such as SunSpider) will show only slight acceleration when using Crankshaft. The larger the application, the greater the effect of the new engine.
Crankshaft consists of four main components:
- The base compiler is used for all code. It works fast and does not make complex optimizations. The base is twice as fast as the V8 in Chrome 9 and generates 30% less code.
- A profiler that monitors the execution process and finds “hot” sections of code that take the most time to complete.
- An optimizing compiler that recompiles the detected hot sections of code. It uses the SSA representation for optimizations such as moving or removing loop invariants , linear scan [1], and embedding . The optimizing compiler in its work uses the information collected during the execution of the initial version of the code.
- Support for deoptimization , thanks to which the optimizing compiler can be free in its estimates regarding the usefulness of individual optimizations. If the assumptions used by the compiler to select one or another optimization turn out to be incorrect, then it is possible to return to the execution of the code received by the base compiler.
We are pleased with the speed of JavaScript code that we have achieved with Crankshaft. Crankshaft provides an excellent infrastructure to further accelerate V8, and we will continue to push for increased JavaScript performance for the next generation of web applications.
Kevin Millikin, Software Engineer and Florian Schneider, Software Engineer
[1] Thanks to mraleph for clarifying the translation .