The author discusses the evolution of chess notation from descriptive to Standard Algebraic Notation, highlighting the inefficiency of textual representation in terms of storage space. The article proposes a more efficient encoding method, breaking down the bits needed for different components of a move in chess. By optimizing the encoding process, the author estimates a 70% reduction in the size of the chess database, leading to a potential 3x speedup for queries. The impact of compressing PGN files using this method is demonstrated, showcasing a significant decrease in file size. The encoding and decoding process is noted to be fast and efficient, utilizing Rust and bitvec library.
https://mbuffett.com/posts/compressing-chess-moves/