El allocator de musl reduce el rendimiento en Rust

Fuentes: musl's allocator significantly reduces Rust performance

Un desarrollador de Brokk AI documenta las severas penalizaciones de rendimiento que sufre la librería C musl cuando se utiliza como base para binarios estáticos en Rust. Tras migrar su proyecto Bifrost a musl buscando mayor portabilidad, el autor identificó una degradación significativa en la velocidad de ejecución al comparar los resultados con glibc, la implementación estándar en Linux.

Las pruebas realizadas en instancias EC2 de cuatro núcleos revelaron que el allocator por defecto de musl es ineficiente incluso en escenarios de baja concurrencia. Aunque la sustitución por allocators de terceros como mimalloc o jemalloc mitiga parcialmente el problema, musl sigue siendo un 26% más lento que glibc en tareas críticas. El análisis técnico determinó que la lentitud no se debe exclusivamente a la gestión de memoria, sino también a la implementación subóptima de rutinas comunes de manipulación de memoria dentro de la propia librería.

Frente a esta situación, el equipo decidió mantener musl solo para proyectos pequeños donde la simplicidad operativa supera al rendimiento, añadiendo mimalloc como complemento. Sin embargo, para Bifrost, una herramienta sensible a la latencia, se ha eliminado la opción de compilar con musl en las versiones precompiladas. El artículo concluye que la simplicidad de los binarios autocontenidos tiene un coste técnico real y advierte a los usuarios sobre este 'peligro oculto' al elegir musl para aplicaciones de alto rendimiento.