Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
41 tokens/sec
GPT-4o
59 tokens/sec
Gemini 2.5 Pro Pro
41 tokens/sec
o3 Pro
7 tokens/sec
GPT-4.1 Pro
50 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Experience Report: Developing the Servo Web Browser Engine using Rust (1505.07383v1)

Published 26 May 2015 in cs.PL

Abstract: All modern web browsers - Internet Explorer, Firefox, Chrome, Opera, and Safari - have a core rendering engine written in C++. This language choice was made because it affords the systems programmer complete control of the underlying hardware features and memory in use, and it provides a transparent compilation model. Servo is a project started at Mozilla Research to build a new web browser engine that preserves the capabilities of these other browser engines but also both takes advantage of the recent trends in parallel hardware and is more memory-safe. We use a new language, Rust, that provides us a similar level of control of the underlying system to C++ but which builds on many concepts familiar to the functional programming community, forming a novelty - a useful, safe systems programming language. In this paper, we show how a language with an affine type system, regions, and many syntactic features familiar to functional language programmers can be successfully used to build state-of-the-art systems software. We also outline several pitfalls encountered along the way and describe some potential areas for future research.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (8)
  1. Brian Anderson (7 papers)
  2. David Herman (2 papers)
  3. Josh Matthews (1 paper)
  4. Keegan McAllister (1 paper)
  5. Manish Goregaokar (1 paper)
  6. Jack Moffitt (2 papers)
  7. Simon Sapin (1 paper)
  8. Lars Bergstrom (10 papers)
Citations (11)