Computing the LZ-End parsing: Easy to implement and practically efficient
Patrick Dinklage

TL;DR
This paper presents a simplified, easy-to-implement algorithm for computing the LZ-End parsing that is both theoretically efficient and practically faster than existing methods, improving compression and random access capabilities.
Contribution
The authors provide a detailed, practical algorithm for LZ-End parsing with simplified implementation and improved efficiency, validated by benchmarking.
Findings
Faster parsing than previous algorithms in practice
Simplified implementation with fewer resources
Maintains competitive compression and random access features
Abstract
The LZ-End parsing [Kreft & Navarro, 2011] of an input string yields compression competitive with the popular Lempel-Ziv 77 scheme, but also allows for efficient random access. Kempa and Kosolobov showed that the parsing can be computed in time and space linear in the input length [Kempa & Kosolobov, 2017], however, the corresponding algorithm is hardly practical. We put the spotlight on their suboptimal algorithm that computes the parsing in time . It requires a comparatively small toolset and is therefore easy to implement, but at the same time very efficient in practice. We give a detailed and simplified description with a full listing that incorporates undocumented tricks from the original implementation, but also uses lazy evaluation to reduce the workload in practice and requires less working memory by removing a level of indirection. We legitimize our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques
