Deliveroo: Ruby to Rust


Details
No hay lugar como el hogar, y no hay mejor Rust que el que está en producción... y deja tus métricas de consumo de CPU por los suelos.
Michael Killough 1 trabaja como Senior Software Engineer para Deliveroo 2 en Reino Unido, donde han usado Rust para reescribir su servicio de despacho de mensajeros. Esta reescritura resultó en una mejora masiva del rendimiento del algoritmo (> 12.5x!), lo cual les permite explorar más aún el espacio de búsqueda, lo que resulta un servicio al consumidor más resiliente y tiempos de entrega más cortos.
En esta charla se explicará como embebieron código Rust en su aplicación Ruby, cómo y por qué migraron el algoritmo incrementalmente de Ruby a Rust en lugar de lanzarse a una reescritura de cero; y las extensiones que hicieron al tooling existente3 para embeber Rust en Ruby.
Recordad que todos los eventos de MadRust están sujetos a la aceptación y cumplimiento del código de conducta de la comunidad de Rust 4. Para poder acceder al evento, necesitamos tu nombre completo, puedes rellenar el formulario en https://goo.gl/forms/NmOPSUTUpY8aDt6h1. Recuerda traer tu DNI u otro documento.
---
There's no place like home, and there's no better Rust that the one running in production... flattening your CPU consumption metrics to rock-bottom levels.
Michael Killough 1 works as a Senior Software Engineer for Deliveroo 2 in the UK, where they have used Rust to rewrite their rider dispatch service. This rewrite gave a massive improvement in the algorithm's runtime (>12.5x!), which has allowed them to explore more of the assignment search space, resulting in a more reliable customer service and shorter delivery times.
This talk will explain how they embedded Rust code in their existing Ruby application, how and why they incrementally moved the algorithm from Ruby into Rust, rather than embarking on a from-scratch rewrite; and the extensions they made to the existing tooling 3 for embedding Rust in Ruby.
Please remember that all MadRust events are subject to the Rust Code of Conduct 4. In order to access the event, we need your full name. Please fill the form in https://goo.gl/forms/NmOPSUTUpY8aDt6h1. Remember to bring some form of ID.

Deliveroo: Ruby to Rust