Skip to content
0:00 / 0:00

#servo#rust

Servo: Building a Parallel Browser

Linux.conf.au 2015 -- Auckland, New Zealand

4.4K subscribers • 2 videos on Hallway

YouTube
  • Recommended by 1 person: 1 on Hacker News.
  • Presented by Jack Moffitt
  • May be out of date. The tools, versions or practices it shows have likely moved on.

Intermediate. Assumes working knowledge.

23K views11 years ago1 recommendation

Systems programmingWeb developmentHow browsers workRustConcurrency and parallelism

Jack Moffitt discusses the design of Servo, an experimental browser engine written in Rust to leverage multi-core parallelism and memory safety.

Jack Moffitt lca2015.linux.org.au/schedule/30171/view_talk Servo is an experimental browser engine for modern multi-core hardware written in an experimental memory safe language called Rust. Current browsers were designed over a decade ago when phones were not smart, clock speeds were still increasing, and web pages were still static. Taking advantage of modern amenities requires a new approach. Servo is written from scratch to be parallel at every level. It uses CPU and GPU, multiple tasks per functional unit, fork-join concurrency, and SIMD, and the team is not done yet. Browser security is paramount, both to prevent attacks and to solve in such a way that vulnerabilities are difficult for programmers to introduce. Servo uses Rust and its advanced type system to help overcome the status quo of C++ code. I'll talk about Servo's goals, its design, and how the Rust language is helping. I'll discuss where it is possible to get more parallelism in the browser, especially in its layout algorithms, and how we plan to do it.

Why it's here

1 person recommends this

What people say. Recommended for its detailed explanation of parallel browser architecture and the performance benefits of using Rust.

busteron Hacker News • Recommends

On “Servo nightly builds on Windows now available”

After seeing a youtube demo[1 of how the aggressive parallelisation that is done in Servo (safely possible by using Rust) speeds up this browser, i'm really excited for Servo! Also, i think this will give us a great base for all kinds of browser embedding what is not based on ancient webkit-gtk. There is another nice presentation on Rust and Servo: link to this video 1: link

gulpahumon Hacker News • Mentions

On “Servo: Building a Parallel Browser [video]”

In the video (at 35:39), they show the future plans and the plan is to start using bits of Servo code in Gecko. So, they will replace small parts of C++ code with Rust. link to this video One plan was to first replace easy parts, like image decoders (bmp/ico formats). link It won't be a one big replacement, more like a gradual take over.

metajackon Hacker News • Mentions

On “Inside a fast CSS engine”

I suspect you will hear a lot of numbers around the time of the 57 launch, and until then people will keep quiet as they try to make the numbers that get revealed as good as possible. For old numbers, you can get some in some of my old presentations at conferences. I think the LCA 2015 one1 has the most details in that regard. 1 link to this video

lkbmon Hacker News • Mentions

On “Inside a fast CSS engine”

Metajack mention power usage with parallelization briefly here0, but doesn't provide the data. 0 link to this video (2015)