Hi, We recently have reimplemented a central component of our software stack with sd-bus and the results are very satisfactory. Though, we have some feedback to discuss.
The reimplemented component is a glib based application. For this reason, we have integrated GMain with sd-event (using Tom's sample code). We are aware of the fact that sd-bus is relatively lower level than gdbus. - Auto generation tool coming with gdbus (gio) is priceless. Without the tool, packing/upacking messages are time consuming. - Reference counting on the bus messages needs to be handled by the API user which is not that difficult but error prone. Again, maybe some kind of auto generation tool can help us out. Which brings up another question which is why are cleanup macros not public? - A simple proxy object is needed. Simple proxy is needed to figure out when proxy is online/offline. The current properties of the proxy and getting events when the properties are changed. By default creating gdbus proxy is expensive in a way that it starts the proxy, loads properties etc (All of this can be turned off with flags though). Maybe systemd's proxy can do all of it in a on-demand way by default. - Lennart's sd-bus introduction blog recommends the usage of gdbus if the application is a glib application. I couldn't understand the reason for this. We have all the hooks to integrate sd-event with glib. - Previously we opened a ticket about the under performing glib (https://bugzilla.gnome.org/show_bug.cgi?id=749533). There are two biggies mentioned in the ticket for the under performance. AFAIK, sd-bus is also using gvariant, so that is not relevant. The other issue is extra context switch on gdbus which doesn't seem to be something easy to get rid of. Where does this leave us? A) Use high level bus implementation with performance penalty, B) Use low level bus implementation with the penalty of going lower level. Isn't it possible to either get gdbus close to sd-bus or sd-bus close to gdbus? Feedback is appreciated, Umut _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel