Facebook contributes open-source tech to boost web browser performance
Facebook Inc. wants to improve the performance of web-based applications, and it’s doing so by open-sourcing several new technologies it hopes that mainstream internet browsers will adopt.
During a presentation at the company’s invite-only Performance @Scale conference today, Vlad Djeric of Facebook’s browser engineering team said the poor performance of web-based apps is often quite noticeable for end users. For example, he said that some savvy users may have noticed that Facebook’s website tends to load quite a bit more slowly than its mobile applications do, even though the web app actually contains significantly less code.
In a blog post, Djeric said there are several reasons for this disparity, but the most important are that web browsers don’t support large scale JavaScript codebases and that browsers cannot access important “system-level” application programming interfaces needed to build better-performing apps.
“Compared with machine code, JavaScript often suffers from parsing, compilation, and runtime just-in-time (JIT) optimization overheads,” Djeric noted. “Additionally, loading JavaScript today usually means waiting for network round-trips on the critical path or waiting on browser HTTP caches that do not reliably scale to dozens of simultaneous resource requests at the start of a page load.”
As for web APIs, Djeric said the problem with them is that they’re often less powerful than native APIs used in mobile apps, lacking in many capabilities. For example, there’s no standard web API for web apps to query their own memory use, he said.
To remedy those problems, Facebook’s browser engineers have created a number of open-source technologies they’re encouraging browser makers to adopt within their codebases.
They include the “isInputPending() API” that enables web browsers to handle JavaScript tasks more efficiently and a technology called “retired instruction counts” to improve browser performance testing.
Djeric’s team has also built a new “JavaScript Self-Profiling API” that has been implemented in the open-source Chromium browser, on which Google Chrome is based, that helps to identity bottlenecks in web traffic. Finally, Facebook has partnered with the Mozilla Foundation that develops the Firefox browser on an experimental “BinAST binary encoding format for JavaScript” that helps to parse JavaScript code more efficiently.
The nitty-gritty of Facebook’s open-source browser efforts are covered extensively in Djeric’s jargon-laden blog post, which can be read here.
“We believe there is an opportunity to increase the performance and richness of the web platform,” Djeric said. “Collaborations among web properties, web developers, standards experts, and browser vendors are necessary to generate new ideas to help bridge the gap between the web of today and the future of nativelike performance on the web.”
Image: Facebook
A message from John Furrier, co-founder of SiliconANGLE:
Your vote of support is important to us and it helps us keep the content FREE.
One click below supports our mission to provide free, deep, and relevant content.
Join our community on YouTube
Join the community that includes more than 15,000 #CubeAlumni experts, including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger, and many more luminaries and experts.
THANK YOU