Un árbol AVL en disco supera a un árbol en RAM en rendimiento

Fuentes: Disk-based AVL tree outperforms in-RAM tree in performance

Un artículo técnico de Bitflux desmiente la premisa de que las estructuras de datos en memoria RAM son siempre superiores a las basadas en disco, demostrando que un algoritmo de lectura aleatoria en disco puede ser más rápido que uno en RAM. El texto analiza cómo la notación Big O, que suele subestimar el impacto del hardware, falla al no considerar la latencia de acceso a la memoria. En una prueba con 2.000 millones de nodos, un árbol AVL almacenado en disco (DiskArray) consumió solo 264 MiB de RAM y fue más rápido que un árbol AVL en RAM, que requirió 144 GiB de memoria. La solución propuesta, DiskArray, divide los datos en bloques de 4 KiB (extents) y mantiene solo un índice en la RAM, reduciendo drásticamente el uso de memoria mientras mantiene el rendimiento. Este enfoque es relevante para bases de datos, libros de orden y almacenes de series temporales, donde la eficiencia en el uso de recursos es crítica. El artículo destaca que, aunque la notación Big O sugiere que los algoritmos en disco escalan peor, la realidad del hardware actual, con ancho de banda PCIe superior al de la DRAM, permite que el streaming desde disco supere a los buffers en memoria. Esta lección es fundamental para ingenieros de sistemas que diseñan arquitecturas de alto rendimiento, ya que la intuición tradicional sobre la jerarquía de memoria es incorrecta en entornos de alta concurrencia.