"A journey to performance: using Rust in Mercurial" - Raphaël Gomès (LCA 2021 Online)
Raphaël Gomès
https://lca2021.linux.org.au/schedule/presentation/49/
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
linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/
Produced by Next Day Video Australia: https://nextdayvideo.com.au
#linux.conf.au #linux #foss #opensource
Sun Jan 24 16:40:00 2021 at Rusty R. Hall
Видео "A journey to performance: using Rust in Mercurial" - Raphaël Gomès (LCA 2021 Online) канала linux.conf.au
https://lca2021.linux.org.au/schedule/presentation/49/
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
linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/
Produced by Next Day Video Australia: https://nextdayvideo.com.au
#linux.conf.au #linux #foss #opensource
Sun Jan 24 16:40:00 2021 at Rusty R. Hall
Видео "A journey to performance: using Rust in Mercurial" - Raphaël Gomès (LCA 2021 Online) канала linux.conf.au
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
!["UI Text: Simplicity is Difficult" - Mike Jang (LCA 2021 Online)](https://i.ytimg.com/vi/ZF733q3m2Ek/default.jpg)
![The mind behind Linux | Linus Torvalds](https://i.ytimg.com/vi/o8NPllzkFhE/default.jpg)
!["Radio Astronomy for Programmers" - Mars Buttfield-Addison (LCA 2021 Online)](https://i.ytimg.com/vi/P4UiWbUVaaM/default.jpg)
![How to speak so that people want to listen | Julian Treasure](https://i.ytimg.com/vi/eIho2S0ZahI/default.jpg)
![FOSDEM 2021 - openSUSE MicroOS, a platform for everything from containers, to IoT, and the desktop](https://i.ytimg.com/vi/HfaXrp4w648/default.jpg)
![Flutter- Google’s latest innovation for mobile, web, and desktop apps](https://i.ytimg.com/vi/80pRyn7fZRk/default.jpg)
![What makes a good life? Lessons from the longest study on happiness | Robert Waldinger](https://i.ytimg.com/vi/8KkKuTCFvzI/default.jpg)
![We made a beautiful complete open-hardware computer, including keyboard and injection-moulded case](https://i.ytimg.com/vi/_vorCvITSmA/default.jpg)
![Preventing the IoT Dystopia with Copyleft](https://i.ytimg.com/vi/m1o42faNg8k/default.jpg)
![RSM In Conversation Live with Lord Jonathan Sumption](https://i.ytimg.com/vi/-syjnHYST-4/default.jpg)
![Booting faster](https://i.ytimg.com/vi/fTLsS_QZ8us/default.jpg)
![The Death of Tagless Final by John A. De Goes](https://i.ytimg.com/vi/p98W4bUtbO8/default.jpg)
![AWS re:Invent 2020: Next-gen networking infrastructure with Rust and Tokio](https://i.ytimg.com/vi/MZyleK8elPk/default.jpg)
![DebConf 14: QA with Linus Torvalds](https://i.ytimg.com/vi/5PmHRSeA2c8/default.jpg)
![De-mystifying interrupt balancing: irqbalance](https://i.ytimg.com/vi/hjMWVrqrt2U/default.jpg)
![The history of our world in 18 minutes | David Christian](https://i.ytimg.com/vi/yqc9zX04DXs/default.jpg)
!["Open ISAs (RISC-V, OpenPOWER, etc)" - Alistair Francis, Hugh Blemings (LCA 2021 Online)](https://i.ytimg.com/vi/UyJQWy5phdM/default.jpg)
!["FPGA Design with Chisel" - Josh Bassett (LCA 2021 Online)](https://i.ytimg.com/vi/Wst8IoYRWKo/default.jpg)
![Mastering the Vim Language](https://i.ytimg.com/vi/wlR5gYd6um0/default.jpg)
![The Tragedy of systemd](https://i.ytimg.com/vi/o_AIw9bGogo/default.jpg)