Basic
- Rust Book
- Comprehensive Rust
- Learning Rust by Writing a Command Line App in 15 Minutes
- Rust Language Cheat Sheet
Best practice
Performance
- The Rust Performance Book
- Asynchronous Programming in Rust
- Recipes for avoiding bounds checks in Rust, without unsafe!
General
- Std: https://doc.rust-lang.org/std/index.html
- Error: thiserror for library-like code and anyhow for application-like code.
String and bytes
- Byte strings (extension traits for &[u8] and Vec): bstr
- Regular expression: regex
- String search: memchr
- Byte count: bytecount
Hash and HashMap
- Rust port of Google's SwissTable hash map: hashbrown
Array and data frame
CLI
- CLI: clap
- Log: log and fern
- Color: colored or owo-colors
- CPU/Memory: sysinfo
- Progress bar: indicatif
- Signal: CtrlC
IO
- buffered I/O: buffer_redux
- tempfile: tempfile
- mmap: memmap2
- byteorder
- Dir walk: walkdir or ignore for high performance.
- Serialization: bincode
Compression
- Gzip: flate2
Performance
- crossbeam - Tools for concurrent programming
- Data parallelism: rayon
- Asynchronous programming: tokio
- Benchmarking: hyperfine
- PProf: pprof
Testing
Bioinformatics
- Sequence parser: seq_io, needletail, noodles