Skip to main content

Rust

2000


rittorrent

My friend and I implemented a BitTorrent client in Rust 🦀. We wrote our own HTTP/1.1 client, file I/O logic, peer communication, thread coordination, and event loop. Our client can interoperate with mainstream BitTorrent clients, and achieved similar peak performance to qBitTorrent in our testing.

My friend and I extended the traditional suffix-array string search data structure to work in the minimizer space, searching for sequences of minimizer k-mers rather than directly searching for the target sequence. We wrote a prototype in Rust 🦀 and implemented an acceleration technique based on piecewise linear regression to shrink the binary search space at the start.
Technical Report 📖