Session

Rust en la JVM gracias a Panama

La JVM es una obra de ingeniería que hace que Java (y otros lenguajes) sea increíblemente rápido para la mayoría de las cargas de trabajo. Pero a veces, "rápido" no es suficiente. En dominios como la computación científica, la IA o el procesamiento de volúmenes masivos de texto, necesitamos invocar bibliotecas nativas altamente optimizadas (escritas en C++ o Rust) para obtener una ventaja de rendimiento crítica o acceder a funcionalidades que no están disponibles en la JVM. Durante décadas, la única opción fue usar la Java Native Interface (JNI), un puente hacia el mundo nativo tan potente como complejo e inseguro.

Aquí es donde entra en juego Project Panama. Gracias a la Foreign Function & Memory API (FFM) incluida en Project Panama, Java finalmente ofrece una forma segura, elegante y con soporte oficial para llamar a código nativo, eliminando la necesidad de escribir código de interconexión y de la gestión manual de memoria. En esta charla usaré FFM para solucionar un desafío clásico en Java: el motor de expresiones regulares.

Acompáñame en una sesión práctica en la que reemplazaremos el motor de regex de Java, que es funcional pero a menudo ineficiente, por el crate de regex de Rust, altamente optimizado. Implementaremos la solución de dos formas, una al lado de la otra: "a la antigua" con JNI y "a la moderna" con Project Panama. Para rematar, compararemos el rendimiento de ambas soluciones frente a las expresiones regulares estándar de Java, lo cual servirá para entender no solo cómo invocar código nativo, sino también cuándo realmente merece la pena el esfuerzo y cuándo no.

Esta charla presenta la alternativa moderna a JNI: el Project Panama. En la charla mostraré cómo usar el crate "regex" de Rust desde Java mediante JNI y Project Panama.

Los asistentes no solo aprenderán sobre una nueva funcionalidad. Verán cómo resuelve un problema del mundo real y aprenderán cuándo merece la pena dar el salto a nativo y cuándo no.

Gonzalo Ortiz Jaureguizar

Madrid, Spain

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top