Unix/Linux提供了大量的IPC:管道,套接字,共享内存,dbus,消息队列......
每种应用最合适的应用是什么?它们的表现如何?
从我的阅读中看,由于存在守护进程,dbus性能应该比其他消息传递ipc机制慢两倍.
在讨论这样的问题时,Linux IPC技术使用某些人提到了性能问题.除了两倍慢的因素外,您是否看到性能问题?您是否看到阻止dbus在嵌入式系统中使用的问题?
据我所知,dbus是否适用于小消息.如果需要传递大量数据,其中一个解决方案是将数据放入共享内存或堆中,然后使用dbus进行通知.根据所讨论的其他ipc机制正在考虑的是:信号,匿名管道,命名管道或FIFO,SysV消息队列,POSIX消息队列,SysV共享内存,POSIX共享内存,SysV信号量,POSIX信号量,FUTEX锁,文件 - 支持和匿名共享内存使用mmap,UNIX域套接字,Netlink套接字,网络套接字,Inotify机制,FUSE子系统,D-Bus子系统.
我应该提一个列出要求的问题(尽管它以apache为中心):
然而,关于性能的另一个问题,所以提到的技术来提高性能.考虑到这一切,我想在嵌入式系统中使用dbus时应该有更少的问题或缺点.
我的 C++/C 程序从 hdf5 文件中顺序读取数百个压缩复合数组,并将它们存储在一些向量中。我想提高它的时间性能。我希望我可以并行读取其中的 3 或 4 个,然后再读取下 3 个或 4 个,等等。我对多线程或 OpenMP 或任何并行编程完全陌生。我的问题是: - 是否可以在 hdf5/C/C++/Linux 上实现我想要的?- 如果是这样,你能指导我一些针对初学者的信息或教程吗?谢谢您 尊敬的 Nyama