Engineering Fast and Space-Efficient Recompression from SLP-Compressed Text
Ankith Reddy Adudodla, Dominik Kempa
TL;DR
This work tackles the practical bottleneck of constructing recompression RLSLPs for highly repetitive text by presenting the first end-to-end recompression pipeline that operates in compressed time. The approach starts from an approximate LZ77-like parsing and alternates Block Compression and Pair Compression on SLP/SLG representations, achieving a compact, local-consistent RLSLP with modest peak RAM. Empirically, the pipeline delivers up to $46×$ speedups and $17×$ RAM reductions on 4 GiB inputs, with strong scalability to 8 GiB datasets and better memory behavior than uncompressed baselines. The results demonstrate that compressed-time computation is a viable and scalable path for fast index construction on large, repetitive corpora, enabling practical deployment of advanced text indexes.
Abstract
Compressed indexing enables powerful queries over massive and repetitive textual datasets using space proportional to the compressed input. While theoretical advances have led to highly efficient index structures, their practical construction remains a bottleneck, especially for complex components like recompression RLSLP, a grammar-based representation crucial for building powerful text indexes that support widely used suffix and LCP array queries. In this work, we present the first implementation of recompression RLSLP construction that runs in compressed time, operating on an LZ77-like approximation of the input. Compared to state-of-the-art uncompressed-time methods, our approach achieves up to $46\times$ speedup and $17\times$ lower RAM usage on large, repetitive inputs. These gains unlock scalability to larger datasets and affirm compressed computation as a practical path forward for fast index construction.
