lkml.org 
[lkml]   [2015]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL] kdbus for 4.1-rc1
    Hi All,

    On 04/23/2015 07:16 PM, Greg Kroah-Hartman wrote:
    > On Thu, Apr 23, 2015 at 09:46:22AM -0700, Andy Lutomirski wrote:
    >> - There's still an open performance question. Namely: is kdbus performant?
    >
    > Yes, I thought that was already answered. Tizen posted some numbers
    > with a much older version of the code, before David fixed a bunch of
    > issues that he and you found, and that averaged between 25-50% faster.
    > Details are in this presentation:
    > http://download.tizen.org/misc/media/conference2014/slides/tdc2014-kdbus-in-tizen3.pdf
    >
    > The Tizen and GENIVI developers are off running numbers with the latest
    > code, or so they told me through emails, but I don't know when/if that
    > will ever happen, so I can't promise more than what is already here.
    >

    I'm working on kdbus support for GLib ([1],[2]). I saw some questions
    about kdbus performance, so I've prepared simple benchmark. Because
    David already has posted some comparison results between kdbus and UDS,
    I've decided to use my GLib port with native kdbus support (it should
    be noted, that this port is not finished yet and there are still some
    places for improvements, thus please do not treat these test results as
    final).

    To perform tests I've created two simple apps:

    - server: http://fpaste.org/215157/
    - client: http://fpaste.org/215156/

    The first one (server) registers itself on the bus under well-known
    name ("com.test.app") and waits for calls to its objects and methods.
    The second one (client) makes calls and records periods of time between
    moment of preparing of a call to the moment of receiving an answer. The
    measurement is made by performing 20000 of calls and computing a sum of
    duration of every call (for two different sizes of message payload:
    1000 and 10000 bytes). The client program returns total time of
    performed calls after successful execution. All tests have been run on
    VirtualBox with ArchLinux and latest version of systemd and kdbus.

    The test results are following:

    +--------------+--------------------+--------------------+
    | | Elapsed time | Elapsed time |
    | Message size | GLIB WITH NATIVE | GLIB + DBUS-DAEMON |
    | [bytes] | KDBUS SUPPORT* | |
    +--------------+--------------------+--------------------+
    | | 1) 2.874264 s | 1) 4.624631 s |
    | 1000 | 2) 2.932835 s | 2) 4.669730 s |
    | | 3) 2.899634 s | 3) 4.747275 s |
    | | 4) 2.970106 s | 4) 4.725723 s |
    +--------------+--------------------+--------------------+
    | | 3) 3.182379 s | 3) 5.469663 s |
    | 10000 | 3) 3.334170 s | 3) 5.520757 s |
    | | 3) 3.353305 s | 3) 5.556374 s |
    | | 3) 3.367732 s | 3) 5.597758 s |
    +--------------+--------------------+--------------------+

    *all tests performed without using memfd mechanism.

    I hope it will be useful for someone :)

    [1] https://github.com/lukasz-skalski/glib
    [2] https://bugzilla.gnome.org/show_bug.cgi?id=721861

    Cheers,--
    Lukasz Skalski
    Samsung R&D Institute Poland
    Samsung Electronics
    l.skalski@samsung.com


    \
     
     \ /
      Last update: 2015-04-24 16:21    [W:3.776 / U:0.216 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site