Speaker
Abstract
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
Topics
QCon San Francisco 2025 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.
From the same track
Wednesday 19 November
10:35 Pacific DEKJ Session Rust The Rust High Performance Talk You Did Not Expect Ruth Linehan Software Engineer @Momento, Previously APIs/Webhooks @GitHub and @Puppet Rust runs faster, but it slows down engineers, right? This was our team’s assumption when we decided to rewrite our code from Kotlin into Rust. But we were wrong in completely unexpected ways. 11:45 Pacific DEKJ Session Instrumentation at Scale: Having Your Performance Cake and Eating It Too Brian Martin Co-founder and Software Engineer @IOP Systems, Focused on High-Performance Software and Systems, Previously @Twitter In high-performance code, a single misplaced counter increment can cost more than the operation it’s measuring. That creates a paradox: instrument too much and you slow the system down; instrument too little and you miss the insights you need to continuously deliver. 13:35 Pacific DEKJ Session Performance When Every Bit Counts: How Valkey Rebuilt Its Hashtable for Modern Hardware Madelyn Olson Principal Engineer @AWS, Maintainer of the Open-Source Valkey Project Ever wondered what happens when a bunch of performance-obsessed developers decide their blazing-fast database isn't quite blazing-fast enough? 14:45 Pacific DEKJ Session Performance Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase Lily Mara Staff Engineer @Discord, Author of "Refactoring to Rust", Previously Engineering Manager @OneSignal 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. 15:55 Pacific DEKJ Session Python Python, Numba, and Algorithm Design: Building Efficient Models in Financial Services Chad Schuster Principal @Milliman Focusing on Risk Management, Modeling, and Technology Consulting Services The popularity of Python means insurance and financial services companies have a growing body of actuaries, quantitative developers, and software engineers capable of building innovative and customized solutions for both data management and modeling.