Chrome's V8 JavaScript engine gets a tuneup

The V8 team and Russian developers offer memory and coding enhancements for the browser engine

V8, the JavaScript engine featured in Google's Chrome browser, is getting improvements in performance and code optimization courtesy of both the V8 team and the Russia Academy of Sciences.

For its part, the V8 team has released version 5.4, a new branch of the engine. "V8 5.4 delivers a number of key improvements in memory footprint and startup speed," the team said in a bulletin. "These primarily help accelerate initial script execution and reduce page load in Chrome."

The 5.4 release tunes the V8 garbage collector for devices with 512MB of RAM or less, reducing peak consumption of on-heap memory by about 40 percent, depending on the website being displayed. Also, memory management inside the JavaScript parser is simplified to avoid unnecessary allocations, which reduces off-heap memory consumption by as much as 20 percent.

The parser's runtime performance streamlining has been improved as well. "This streamlining, combined with other optimizations of JavaScript builtins and how accesses of properties on JavaScript objects use global inline caches, resulted in notable startup performance gains," according to the team.

The 5.4 branch will be in a beta phase of development until it is released along with the Chrome 54 Stable browser in a few weeks.

Meanwhile, developers at the Institute for System Programming of the Russian Academy of Sciences have forked from V8 an experimental compiler, LLV8, for producing highly optimized code. LLV8 uses the LLVM compiler project's MCJIT execution engine. "LLV8 (back end) is implemented as a patch to V8 and it cannot function without the virtual machine," according to the project's GitHub repo. "Although LLV8 is only a fraction of the entire patched VM, we also refer to the whole thing (our fork of V8) as LLV8." The code base is in two repositories, LLVM fork and V8 fork.

Late last month, V8 received another enhancement, a JavaScripter interpreter dubbed Ignition. It improves script execution and reduce memory overhead, and has the potential to improve Web page-loading speeds.

Copyright © 2016 IDG Communications, Inc.