From my testimony, dbus performance should be twice as slow as other ipc messaging mechanisms due to the existence of the daemon.
In a discussion of the issue that uses IPC Linux technology , some of them mention performance issues. Do you see performance issues other than the slower factor? Do you see a problem that prevents the use of dbus in the embedded system?
As far as I understand, if dbus is intended for small messages. If you need to transfer a large amount of data, one solution is to put the data in a shared memory or heap, and then use dbus for notification. Other ipc mechanisms in accordance with the discussion under discussion: Signals, Anonymous pipes, Named pipes or FIFOs, SysV message queues, POSIX message queues, SysV shared memory, POSIX shared memory, SysV semaphores, POSIX semaphores, FUTEX locks, backup and anonymous shared memory using mmap, UNIX sockets, Netlink sockets, network sockets, Inotify mechanisms, FUSE subsystem, D-Bus subsystem.
I should mention another question that lists the requirements (although it is centered on apah):
- packet / message oriented
- ability to handle point-to-point and one-to-many messages
- no hierarchy, no server and client
- if one endpoint fails, others must be notified
- good support for existing Linux distributions
- the existence of a "binding" for Apache to create dynamic pages is too specific, but it can be ignored in the general discussion of using built-in dbus
However, another performance issue mentions performance improvement methods. Given all this, I think that when using dbus in the embedded system there should be less problems or disadvantages.
performance embedded ipc dbus
minghua Aug 01 '14 at 17:39 2014-08-01 17:39
source share