I really enjoy profiling and optimization, mainly for those WTF moments when results pop out the other end. Systems rarely behave the way anyone expects, and I doubt anyone would have expected this:
The graph is showing time taken to pass many many messages of different size fixed arrays over D-Bus and ORBit. At about 120k message size, Libdbus hits a performance brick wall. Its really hard for me to imagine whats going on here, but as soon as I have the time I’ll go back and do my best to find out.