cpp-ipc - C++ IPC Library
A high-performance inter-process communication using shared memory on Linux/Windows.
使用共享内存的跨平台(Linux/Windows,x86/x64/ARM)高性能IPC通讯库。
- 推荐支持C++17的编译器(msvc-2017/gcc-7/clang-4)
- 除STL外,无其他依赖
- 无锁(lock-free)或轻量级spin-lock
- 底层数据结构为循环数组(circular array)
ipc::route
支持单写多读,ipc::channel
支持多写多读【注意:目前同一条通道最多支持32个receiver,sender无限制】- 默认采用广播模式收发数据,支持用户任意选择读写方案
- 不会长时间忙等(重试一定次数后会使用信号量进行等待),支持超时
Usage
See: Wiki
Performance
Environment | Value |
---|---|
Device | Lenovo ThinkPad T450 |
CPU | Intel® Core™ i5-4300U @ 2.5 GHz |
RAM | 16 GB |
OS | Windows 7 Ultimate x64 |
Compiler | MSVC 2017 15.9.4 |
UT & benchmark test function: test
Performance data: performance.xlsx