La tabla de 100 dígitos de Facebook acelera la conversión de enteros a texto un 31%

Integer to String Conversion (2014)

Convertir enteros a cadenas rara vez es un cuello de botella, pero aparece al perfilar aplicaciones como Lwan. El autor repasa su evolución: de snprintf() al algoritmo naíf con inversión de cadena, y luego a escribir directamente hacia atrás. El truco de Facebook Engineering usa una tabla de pares de dígitos del 00 al 99, reduciendo a la mitad las divisiones y logrando cerca de un 31% más de velocidad. Un detalle: la licencia impide usarlo en Lwan.

Finalmente hice lo que uno siempre debería evitar cuando trastea con este tipo de cosas: cambié la búsqueda en la tabla por una suma, sin medir si rendiría mejor, y aun así hice commit del código. La tabla de búsqueda es ~9% más rápida. ¡Ay!

Más de este día

2026-10-19