| Crates.io | small-bwt |
| lib.rs | small-bwt |
| version | 0.2.0 |
| created_at | 2023-07-07 13:45:43.269605+00 |
| updated_at | 2023-07-08 09:25:48.923431+00 |
| description | BWT construction in small space |
| homepage | https://github.com/kampersanda/small-bwt |
| repository | https://github.com/kampersanda/small-bwt |
| max_upload_size | |
| id | 910765 |
| size | 2,720,709 |
This is a Rust implementation of the BWT construction algorithm in small space, described in Algorithm 11.8 of the book: Compact Data Structures - A Practical Approach, Gonzalo Navarro, 2016.
Given a typical text, it runs in $O(n \log n \log \log n)$ time and $O(n)$ additional bits of space, where $n$ is the length of the input string and the alphabet size is much smaller than $n$. See the book for more details.
tools provides a command line tool to construct the BWT of a file.
$ cargo run --release -p tools -- -i input.txt -o output.bwt -t
With a desktop PC (Intel i7, 16 GB), the DNA text of size 385 MiB from Pizza&Chili Corpus was transformed in 6.8 minutes using maximum resident set size of 727 MiB.
benches provides benchmarks on the time performance for English texts
extracted from Pizza&Chili Corpus.
$ cargo bench
This library is licensed under either of
at your option.
benches/english.10MB.zst is extracted from Pizza&Chili Corpus and follows LGPL License.