seq: A single thread sendsNmessages. Then it receivesNmessages.spsc: One thread sendsNmessages. Another thread receivesNmessages.mpsc:Tthreads sendN / Tmessages each. One thread receivesNmessages.mpmc:Tthreads sendN / Tmessages each.Tother threads receiveN / Tmessages each.select_rx:Tthreads sendN / Tmessages each into a separate channel. Another thread receivesNmessages by selecting over theTchannels.select_both:Tthreads sendN / Tmessages each by selecting overTchannels.Tother threads receiveN / Tmessages each by selecting over theTchannels.
Default configuration:
N = 5000000T = 4
Runs benchmarks, stores results into *.txt files, and generates plot.png:
./run.sh
Dependencies:
- Rust
- Go
- Bash
- Python
- Matplotlib
Machine: Intel(R) Core(TM) i7-5500U (2 physical cores, 4 logical cores)
Rust: rustc 1.63.0 (4b91a6ea7 2022-08-08)
Go: go version go1.19 linux/amd64
Commit: 7070018 (2022-08-24)
