Skip to content
/ cpp-ipc Public
forked from mutouyun/cpp-ipc

C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows.

License

Notifications You must be signed in to change notification settings

xjump/cpp-ipc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp-ipc - C++ IPC Library

MIT licensed Build Status Build status

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支持多写多读
  • 默认采用广播模式收发数据,支持用户任意选择读写方案
  • 不会长时间忙等(重试一定次数后会使用信号量进行等待),支持超时

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

About

C++ IPC Library: A high-performance inter-process communication using shared memory on Linux/Windows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.6%
  • QMake 1.3%
  • CMake 1.1%
  • C 1.0%