Tiempos de compilación de Rust: de 25 minutos a 2 minutos

2025-04-17
Tiempos de compilación de Rust: de 25 minutos a 2 minutos

El equipo de Feldera encontró tiempos de compilación excesivamente largos al compilar código Rust generado a partir de SQL a gran escala. Un programa SQL de 8.562 líneas traducido a ~100.000 líneas de Rust tardaba 25 minutos en compilar. Técnicas como la eliminación de tipos y la desduplicación de código produjeron mejoras mínimas. La solución llegó al dividir el código Rust generado en 1.106 crates más pequeños, permitiendo la compilación paralela y reduciendo drásticamente el tiempo de compilación a menos de 2 minutos, utilizando completamente los procesadores multinúcleo.

Leer más

GitHub Actions CI/CD: Una Odisea Dolorosa

2025-03-20
GitHub Actions CI/CD: Una Odisea Dolorosa

El autor relata un viaje frustrante construyendo una pipeline de CI/CD compleja usando GitHub Actions, involucrando múltiples iteraciones y dificultades con colas de fusión, comportamiento inconsistente y preocupaciones de seguridad. Los desafíos incluyeron la aplicación de verificaciones de estado con colas de fusión, la comprensión del modelo de seguridad alrededor de GITHUB_TOKEN, problemas de permisos de archivos y rutas de contenedores Docker y las complejidades de los flujos de trabajo YAML. A pesar de lograr una reducción en el tiempo de fusión, el autor destaca las numerosas trampas ocultas y el comportamiento inconsistente, abogando por una mejor usabilidad y depuración en GitHub Actions.

Leer más
Desarrollo

Revolucionando la autorización de grano fino: el motor de computación incremental de Feldera

2025-01-20
Revolucionando la autorización de grano fino: el motor de computación incremental de Feldera

Feldera presenta un enfoque revolucionario para la autorización de grano fino (FGA). Los sistemas FGA tradicionales evalúan las solicitudes de autorización en tiempo real, lo que lleva a la ineficiencia. Feldera precalcula todas las decisiones de autorización y utiliza su motor de computación incremental (basado en SQL) para actualizar los resultados, convirtiendo las solicitudes de autorización en simples búsquedas de clave-valor. Incluso con grandes gráficos de objetos, Feldera procesa los cambios en milisegundos, mejorando drásticamente el rendimiento. El artículo detalla los principios de FGA y demuestra la construcción de un motor FGA de alto rendimiento utilizando SQL, mostrando su superioridad en el manejo de grandes conjuntos de datos.

Leer más