Speaker: Lily Mara

(She / her / hers)

Engineering Manager @OneSignal

Lily Mara is an Engineering Manager at OneSignal in San Mateo, CA. She manages the Infrastructure Services team, which is responsible for in-house services used by other OneSignal engineering teams. Previously she was a software engineer at OneSignal, leading the efforts to create OneSignal's integration with Mixpanel, develop the outcomes system, and improving performance and code simplicity through refactoring efforts. Lily also worked as a software developer at Kroger, working on Kroger’s online grocery ordering system as well as internal development tools to aid other teams in deployments, monitoring, and local development environments.

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 stretch to infinite timelines as bugs that the old system contorted itself to fix years ago reemerge. In pursuit of improving performance, we can instead 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
  • Identifying the pieces of the application most in need of performance improvement
  • Write a Rust reimplementation of existing behavior
  • Cross-language regression testing
  • Performance benchmarking of the new code

Date

Thursday May 12 / 01:30PM EDT (50 minutes)

Track

WebAssembly & Modern Systems Programming Languages

Topics

WebAssemblyRustProgramming Languages

Add to Calendar

Add to calendar

Share