”Comparación de rendimiento y esfuerzo de programación entre Rust y C en arquitecturas multicore”
Autor: Costanzo Manuel
Director: Dr. Marcelo Naiouf
Codirector: Dr. Enzo Rucci
Fecha: Mayo 2021

Históricamente, Fortran y C han sido los lenguajes de programación por defecto en la computación de alto rendimiento (High-Performance Computing, HPC). Ambos ofrecen al programador primitivas y funciones que permiten manipular la memoria del sistema e interactuar directamente con el hardware subyacente, resultando en un código eficiente tanto en tiempos de respuesta como en uso de recursos. Como contrapartida, resulta un verdadero desafío generar código que sea mantenible y escalable a lo largo del tiempo en estos tipos de lenguajes.
En el 2010 surge Rust, un nuevo lenguaje de programación diseñado para aplicaciones concurrentes y seguras, que adopta características de lenguajes procedurales, orientados a objetos y funcionales. Entre sus principios de diseño, Rust busca igualar a C en términos de eficiencia pero aumentado la seguridad y la productividad del código. Este trabajo presenta un estudio comparativo entre C y Rust en términos de rendimiento y esfuerzo de programación, seleccionando como caso de estudio la simulación de N cuerpos computacionales (N-Body), un problema popular en la comunidad HPC. A partir del trabajo experimental, fue posible determinar que Rust es un lenguaje que reduce el esfuerzo de programación, manteniendo rendimientos aceptables, posicionándolo como una posible alternativa a C para HPC.

Trabajo Final completo