Mozilla

A journey to performance

Using Rust in Mercurial
D.mozilla
Raphaël Gomès
Mercurial is a Distributed Version Control System mainly written in Python. While it is often the VCS of choice for monorepos for its great scalability, certain parts remain slower than they should be. Over the past two years, an effort to rewrite parts of the Mercurial core in Rust has seen multiple significant wins in performance, even compared to C implementations. We will go over the different obstacles that Raphaël and his colleagues at Octobus faced during the rewrite of the ubiquitous hg status, and the solutions they came up with to make this command (and others) a lot faster. For example, running hg status in a Mozilla working copy moved from 1.1s to 0.04s, a ×25 improvement. Themes covered include: - Rust and Python interoperability - Fast (and slow) Rust datastructures - Fast directory traversal - Version control internals - Append-only binary formats - Mtime caching - Safe mmap usage in a concurrent context - Multithreading - Unix vs MacOS vs Windows issues

Additional information

Type devroom

More sessions

2/6/21
Network monitoring, discovery and inventory
Stephan Schmidt
D.network
A brief introduction to the room and to the sessions.
2/6/21
Hardware-Aided Trusted Computing
Jo Van Bulck
D.hardware.trusted
A brief introduction to the room and to the sessions.
2/6/21
MariaDB
Ian Gilfillan
D.mariadb
A brief introduction and overview of what you can expect from the MariaDB devroom at FOSDEM
2/6/21
Microkernel
Martin Děcký
D.microkernel
Welcome talk and introduction to the Microkernel Devroom at FOSDEM 2021.
2/6/21
Testing and Automation
D.testing
A warm welcome from your devroom managers, practical information, lineup and administrivia. Let's make this edition of FOSDEM count! Happy Testing!
2/6/21
OpenPOWER
Toshaan Bharvani
D.power
This will be an introduction to the OpenPOWER DevRoom, it will briefly explain the OpenPOWER Foundation, the changes we're making and how we want to interact more with the open source communities, for both hardware and software. And introduce the DevRoom for the day.
2/6/21
JavaScript
D.javascript
A short introduction about JavaScript Devroom with some interesting resources about JavaScript and a presentation about this special day for the FOSDEM JS Devroom