1个不稳定版本
0.1.0 | 2023年9月30日 |
---|
#7 in #porting
用于 ppl
12KB
297 行
FF Buffer
Luca Rinaldi的FF Buffer的分支。这个分支用于PPL中的基于FastFlow的通道后端。
FF Buffer
正在进行C++ FastFlow无锁队列到Rust的移植。
该库是一个简单的接口,模仿了标准Rust的mpsc队列,并在内部使用FastFlow无界无锁缓冲区的C++实现。
构建
该库依赖于LLVM(更多信息)相当新的跨语言链接时间优化,因此构建过程目前并不简单。
构建过程需要clang
和lld
的LLVM版本与rustc
的版本相匹配。我目前使用版本为8.0.0的clang
和版本为1.37.0的rustc
,两者都使用LLVM 8。完整的兼容性列表请参阅此处的表格。
依赖项
- FastFlow
- clang
- lld
Ubuntu 19在主仓库中包含LLVM 8,因此只需
sudo apt install clang-8 lld-8
在其他Ubuntu/Debian版本中,使用此外部仓库。
构建指南
在主目录中下载FastFlow库
cd ~
git clone https://github.com/fastflow/fastflow.git
下载ff_buffer
仓库并进入其中
git clone https://github.com/lucarin91/ff_buffer.git
cd ff_buffer
然后,使用cargo可以构建库,运行示例或执行基准测试。
cargo build --release
cargo run --example simple
cargo bench
许可证
MIT许可证
依赖项
~0–1.2MB