Popular C libraries are: divsufsort libsais Both have a ..64 variant that supports input strings longer than 2GB. Rust wrappers: divsufsort: rust reimplementation, does not support large inputs. cdivsufsort: c-wrapper, does not support large inputs livdivsufsort-rs: c-wrapper, does support large inputs sais: unrelated to the original library; does not implement a linear time algorithm anyway libsais-rs: Daniel Liu’s fork-of-fork of the original, but not on crates.io. Supports multithreading...