Speaker: Lily Mara
(She / her / hers)
Engineering Manager @OneSignal
Lily is the author of Refactoring to Rust, an early-access book by Manning Publications about improving the performance of existing software systems through the gradual addition of Rust code.
Session + Live Q&A
Blazing Fast, Minimal Change - Speed Up Your Code by Refactoring to Rust
In order to improve the performance of existing applications and services, we can identify the most performance-critical pieces and reimplement them in Rust as opposed to completely rewriting the applications from scratch.
It’s tempting when we hear about a new technology or language to want to rewrite everything using that technology. Start over with a clean slate and fix all the problems of the old system. The new shiny system will surely be better than the last one! The constraints of reality often encroach on this fantasy as rewrite projects. They turn into seemingly never-ending projects due to bugs reemerging - bugs the old system contorted itself into to fix. In pursuit of improving performance, we can rewrite only those pieces of an application that are truly important to performance and use cross-language bindings in order to link existing code bases with code written in Rust.
In this talk, we will take an existing codebase and rewrite part of it in Rust. We will focus on:
- Determining the feasibility of this type of refactor
- Write a Rust reimplementation of existing behavior
- Cross-language regression testing
- Performance benchmarking of the new code
Session + Live Q&A
What's Next for Rust and WebAssembly
Most people have heard of Rust, due to the vibrant and happ[y community around the language, exemplified by it having held the top spot as the 'most loved' language in the Stack Overflow developer survey for the past six years. However, few of us get the chance to use this delightful language in our day-to-day work.
WebAssembly is a new runtime, born in the browser, yet making a significant impact as a versatile runtime for a wide range of applications (FaaS, blockchain, plug-in).
There is a close synergy between WebAssembly and Rust - Rust is both an ideal language for writing WebAssembly applications and for creating WebAssembly runtimes. In this panel we'll explore this synergy, and see where the combined might of WebAssembly and Rust might take us.