Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elite-sheep/lft-rust
A lock-free thread pool implemented in Rust
https://github.com/elite-sheep/lft-rust
Last synced: 2 months ago
JSON representation
A lock-free thread pool implemented in Rust
- Host: GitHub
- URL: https://github.com/elite-sheep/lft-rust
- Owner: elite-sheep
- License: mit
- Created: 2022-05-03T14:42:26.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-04T00:23:52.000Z (over 2 years ago)
- Last Synced: 2024-10-31T11:51:44.802Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 21.1 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# LFT-Rust
A lock-free threadpool implementation in Rust. Research oriented. We developed an interesting
idea to mitigate the performance drop introduced by the use of locks in Rust. For details, please
refer to our [technical reports](https://drive.google.com/file/d/1f8S21PyhDJ5uu-Xr90JMmNEbrJBWHpZh/view?usp=sharing).## Build
This project is built upon `Rust 1.57.0`. To build this project, please run the following
command:
```
cargo build
```To build a release version of this project, please run:
```
cargo build --release
```We also provide some examples for better using this project, to run an example:
```
RUST_LOG=trace cargo run --example hello_world
```## Roadmap
I plan to implement the following features:
- [ ] Move common objects to a shared mod
- [ ] Better scheduling algorithms: Round-robin, weighted Round-robin.
- [ ] Multi-lane threadpool
- [ ] Load rebalancing
- [ ] Function binding: https://en.cppreference.com/w/cpp/utility/functional/bind
- [ ] Lock-free channel