Un ajuste de configuración en la compilación de WolfSSL, la biblioteca criptográfica usada por MariaDB, activó optimizaciones para operaciones de números grandes basadas en el tipo entero _uint128_t. Ese cambio —según pruebas realizadas por desarrolladores del proyecto— redujo en más de tres veces el tiempo de conectar y desconectar sesiones TLS en pruebas de 100 conexiones localhost en sistemas Apple Silicon.
Qué cambió y por qué importa
WolfSSL incluye en su código varias implementaciones alternativas para operaciones matemáticas con números grandes; unas versiones aprovechan características modernas del compilador (como _uint128_t) y otras son implementaciones más portables pero menos rápidas. La compilación de WolfSSL para MariaDB se realiza mediante CMake y requiere una secuencia propia de comprobaciones de entorno.
En el caso descrito, la comprobación que detecta soporte para _uint128_t no estaba presente en ese sustrato de configuración de MariaDB. Como resultado, la compilación seleccionó la ruta genérica y menos optimizada. Añadir la verificación hizo que se compilara la versión optimizada en C (no ensamblador) que usa el tipo entero de 128 bits, y con ello se observó la mejora en pruebas de rendimiento TLS.
En qué plataformas se observó la mejora
Los autores señalan que la mejora se ha detectado en macOS sobre Apple Silicon, plataforma donde WolfSSL en ese entorno se compila sin optimizaciones en ensamblador. No se aportan datos de otras arquitecturas ni de versiones concretas de MariaDB o WolfSSL en las pruebas públicas compartidas.
Impacto para administradores y desarrolladores
- Quiénes se benefician: servidores MariaDB que usan WolfSSL para TLS y que se ejecutan en entornos similares a Apple Silicon pueden obtener conexiones TLS más rápidas.
- Qué deben comprobar los administradores: si su compilación de MariaDB/WolfSSL usa CMake personalizado, conviene revisar la configuración para asegurarse de que detecta soporte para tipos de 128 bits del compilador (_uint128_t) y, en caso de compilar desde código fuente, recompilar tras aplicar la corrección.
- Qué hacer si usa paquetes binarios: para instalaciones desde paquetes precompilados, el cambio depende del empaquetador: habría que estar atento a nuevas builds del paquete que integren la configuración corregida.
Detalles técnicos útiles
La mejora proviene de versiones alternativas de rutinas de aritmética de gran tamaño en la biblioteca wolfCrypt (parte de WolfSSL). Estas versiones optimizadas no son necesariamente código en ensamblador; pueden ser implementaciones en C que utilizan características del compilador como el entero de 128 bits para acelerar cálculos que son críticos en operaciones criptográficas (por ejemplo, multiplicaciones y reducciones en algoritmos de clave pública).
El hecho de que la detección se realice en tiempo de configuración (configure/CMake) explica por qué una simple comprobación ausente impidió que se seleccionara el código más rápido.
Conclusión y recomendación
La observación demuestra que mejoras significativas en rendimiento TLS pueden lograrse con cambios mínimos en la cadena de compilación cuando las bibliotecas subyacentes no aprovechan completamente las características del compilador y la arquitectura. Administradores y desarrolladores que compilen MariaDB y WolfSSL desde fuente en arquitecturas no-x86 (como Apple Silicon) deberían verificar y aplicar la comprobación de _uint128_t en la configuración para aprovechar estas optimizaciones.
Lee también:
- Traefik actualiza dependencias y corrige documentación en la serie 3.7.x
- Sabey firma un vPPA de 43,5 MW con una planta solar en Texas
Fuente: MariaDB.org




