Abstract
This is the story of how I started optimizing a python microservice at work, while learning Rust at home. After having read “The Rust book” I tried to reimplement the algorithm in Rust as an exercise, and the results were astonishing.
I work for Evonove, a software company located in Umbria. We had the opportunity to work with Whip live, an app that tracks offroad motos and bikes giving the users statistics about their performances and comparing those on tracks recorded by other users. We designed and built the data pipeline that takes raw gps data, extracts statistics and compares tracks between each other giving a similarity score.
When the software (implemented in python) was ready, we had only tested it with quite short tracks. Then one day a coworker came in to the office with a 40km ride recorded the day before. We tried to compare it with itself in the pipeline to see how it ran and if it would give us a perfect match, and it did! But it took 16 minutes. The python implementation of our microservice was having a hard time with computation on a huge matrix of 25mln items. In this talk I will tell the story that brought the first Rust program to be deployed in production in our company, and how we plan to rewrite key parts of the pipeline in Rust.