ALP es un algoritmo de compresión sin pérdida para datos en coma flotante conforme al estándar IEEE 754, publicado como código fuente y banco de pruebas en el repositorio cwida/ALP de GitHub. Su artículo asociado, "ALP: Adaptive Lossless Floating-Point Compression", fue presentado en ACM SIGMOD 2024 por Azim Afroozeh, Leonardo Kuffó y Peter Boncz.
El algoritmo se basa en dos patrones habituales en los datos reales. Para los valores decimales, multiplica cada número por una potencia de 10 para convertirlo en un entero —por ejemplo, 10,12 se transforma en 1012— y comprime el resultado mediante una variante de Frame-of-Reference compatible con SIMD sobre FastLanes. Para los valores de alta precisión restantes, ALP comprime únicamente la parte izquierda del dato con codificación por diccionario sobre FastLanes, dejando la parte derecha sin compresión para preservar la precisión original.
Según los autores, ALP supera en velocidad de decodificación, velocidad de compresión y tasa de compresión a otros esquemas de su categoría. El artículo recibió los tres distintivos de la iniciativa de disponibilidad y reproducibilidad de SIGMOD y el premio SIGMOD Best Artifact Award. El código se distribuye bajo licencia MIT e incluye directorios para la implementación principal, banco de pruebas, cabeceras, scripts, pruebas unitarias y materiales de la publicación. Está pensado para investigadores y desarrolladores que trabajen con conjuntos de datos de coma flotante y necesiten reducir espacio sin perder precisión, por ejemplo en análisis de datos y sistemas de bases de datos columnares.
