2019-04-05 18:24:16 +08:00
build crash may cause deadlock 2019-03-26 22:24:25 +08:00
demo/chat try send/recv; support sending timeout; fix bugs 2019-03-26 19:12:59 +08:00
include move concept & pimpl helpers to single header respectively 2019-04-04 23:25:51 +08:00
src use ipc::detail::max/min instead of std::max/min 2019-04-05 18:24:16 +08:00
test update shm interfaces 2019-03-28 12:08:02 +08:00
.gitignore first commit for shm. 2018-11-20 11:27:39 +08:00
.travis.yml IPC_UNUSED_ 2019-01-18 17:40:43 +08:00
LICENSE Update LICENSE 2018-12-27 17:01:44 +08:00
performance.xlsx update performance.xlsx 2019-03-22 18:46:55 +08:00
README.md Update README.md 2019-03-29 17:55:11 +08:00

cpp-ipc - C++ IPC Library

MIT licensed Build Status Build status

A high-performance inter-process communication using shared memory on Linux/Windows.
使用共享内存的跨平台Linux/Windowsx86/x64/ARM高性能IPC通讯库。

  • 推荐支持C++17的编译器msvc-2017/gcc-7/clang-4
  • 除STL外无其他依赖
  • 无锁lock-free或轻量级spin-lock
  • 底层数据结构为循环数组circular array
  • ipc::route支持单写多读,ipc::channel支持多写多读
  • 默认采用广播模式收发数据,支持用户任意选择读写方案
  • 不会长时间忙等(重试一定次数后会使用信号量进行等待),支持超时

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

Reference