Las llamadas tablas hash son matrices o contenedores asociativos que sirven para almacenar y buscar datos rápidamente. Son capaces de realizar estas tareas de manera óptima aunque el volumen de datos aumente vertiginosamente.
F14 utiliza una estrategia de almacenamiento híbrido con 14 vías de sondeo llamada F14Fast, que elige el enfoque más eficiente para almacenar datos en función de los tipos de valor. «Su algoritmo central aprovecha las instrucciones vectoriales para aumentar el factor de carga al tiempo que reduce los conflictos, porque admite varios diseños de memoria para diferentes escenarios. Ofrece una eficiencia de CPU y RAM robusta en una amplia variedad de casos de uso», explican los ingenieros de software de Facebook Xiao Shi y Nathan Bronson en el blog de Facebook.
El funcionamiento de esta herramienta se basa en la fragmentación para disminuir la probabilidad de conflictos. El rendimiento se mejora notablemente reduciendo la sobrecarga de memoria y CPU al gestionar posiciones vacías en la tabla hash, algo bastante útil en los casos en los que se manejan muchas cargas de trabajo de inserción y borrado.
Otros aspectos que mejoran el rendimiento son el empleo de menos código y el hecho de que F14 reduce la necesidad de crear objetos y copias dentro de las tablas hash y del código circundante.
F14 está disponible para descarga en GitHub.
Consulta todos los detalles técnicos en el blog oficial de Facebook.
0 comentarios