InterprocessMemPool
eCAL
InterprocessMemPool | eCAL | |
---|---|---|
2 | 11 | |
11 | 1 | |
- | - | |
6.1 | 9.2 | |
3 months ago | almost 2 years ago | |
C++ | C++ | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
InterprocessMemPool
- pmr implementation in c++14
-
Communication between processes
IPC was such a cluster for us that I ended up writing my own IPC mempool and producer/consumer pattern as a side project: https://github.com/keithrausch/InterprocessMemPool
eCAL
-
eCAL ipc framework
New version (5.94) of the high performance interprocess / interhost communication framework eCAL is available. eCAL supports different transport layer like shared memory for interprocess and udp multicast for interhost communication. It does not force the user to use a specific serialization format but supports some of the standards like google protobuf, capnproto or flatbuffers. The API is wrapped to C, C++, Python, C#, Rust and Go (the last two I never tested ;-)). Here you can find all the documentation. Check out the great applications for monitoring, record and replay. eCAL is Apache 2 licensed, repository hosted here. Have fun :-)
- eCAL 5.9.4 released
-
Should I run ROS on windows, through WSL or on linux with dual boot?
I you just need a fast publish / subscribe framework for windows you can give eCAL a try. The setup is done in less a minute and their is no dependency hell. Just to mention it as alternative. Documentation here
-
Google Protobuf vs JSON vs [insert candidate here]
I would concider using eCAL since it blasts everything out of the water in terms of performance and comes with some handy tooling for inspection of messages in-travel.
-
eCAL 5.9.0 released
Source on GitHub: https://github.com/continental/ecal
-
Sender and Receiver implementations
Check out eCal.
-
grpc_bench: open-source, objective gRPC benchmark
This really makes me want to try https://github.com/continental/ecal with https://github.com/google/flatbuffers to see how they compare. I also know that gpc for cpp at least stops functioning by about 4 MB of request size. Which I find stupid. What if I want to send uncompressed bitmaps!
-
Announcing Eclipse iceoryx 1.0.0
Congratulations. Well done. eCAL will update as soon as possible to the new release. The new custom header and the n:m pub/sub support are really welcome new features.
-
Open source developers that work outside of a full time job, what motivates you?
Here is their counter callback example: https://github.com/continental/ecal/blob/master/samples/cpp/counter/counter_rec_cb/src/counter_rec_cb.cpp
What are some alternatives?
shadesmar - Fast C++ IPC using shared memory
ZeroMQ - ZeroMQ core engine in C++, implements ZMTP/3.1
Fast-DDS - The most complete DDS - Proven: Plenty of success cases. Looking for commercial support? Contact [email protected]
iceoryx - Eclipse iceoryxâ„¢ - true zero-copy inter-process-communication
libcxx - Project moved to: https://github.com/llvm/llvm-project
gRPC - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
Inter-Component-Communication - ICC - Inter Component Communication, this is a library created to simplify communication between components inside of single application. It is thread safe and could be used for creating components that works in different threads
cyclonedds - Eclipse Cyclone DDS project
yarp - YARP - Yet Another Robot Platform
nanomsg - nanomsg library
DirectXTex - DirectXTex texture processing library
rpclib - rpclib is a modern C++ msgpack-RPC server and client library