Google may be forking the WebKit rendering engine to speed up Chrome, but Mozilla has unveiled a somewhat more ambitious long-term plan to speed up Firefox — rewriting the rendering engine from the ground up.
Mozilla wants future versions of Firefox to be able to “take advantage of tomorrow’s faster, multi-core, heterogeneous computing architectures,” writes Mozilla CTO Brendan Eich on the company’s blog. To make that happen Mozilla is developing a new browser engine dubbed Servo.
While Servo is likely several years from being a finished product, it’s an important step in the direction of faster browsers and more capable web apps. Right now you can throw all the cores you want at Firefox, but sadly it won’t be any faster because it isn’t threaded. Servo will help Mozilla build a multi-threaded version of Firefox that will not just speed up the browser, but could enable a whole new class of web apps.
Samsung’s involvement in the project also hints at another reason for Servo — a more powerful engine behind Mozilla’s mobile Firefox OS.
Servo is not an extension of Gecko, Firefox’s current rendering engine, but an entirely new beast written specifically to take advantage of modern, massively parallel processing hardware.
Servo is written in Mozilla’s homegrown Rust programming language, a C++ style language that attempts to provide more security by avoiding memory corruption and buffer overflows, a common attack vector in today’s browsers. Eich calls Rust “safe by default” and says that Rust will stop “entire classes of memory management errors”, helping to eliminate a common cause of not just security flaws, but browser crashes.
As part of the announcement Mozilla has released Rust 0.6, which contains code contributed by Samsung in its effort to port Rust to ARM processors and Android. For more on Rust, check out the project’s website and FAQ or browse the code on GitHub.
It’s going to be a little while, but in a not too distant future Servo may bring a speedy new Firefox to a tablet or phone near you.