I think you might be on a smaller box than you think, or just running on
one core. I get those numbers on a single core test. I can get 45% more
with a single publisher. so we are at ~100k msg/sec per core.
I also see from a kernel profile that we have halved the heap time and
moved the mutex time down quite a bit - heap might be as I not running
with -O3 for the specific profile run.
will do a vmlinux profile next, but this change has taken us in the
right direct, our latency, memory and std deviation are all greatly
improved and we have better throughput.
nothing to complain about.
That said, memory is still our top item in profiles, so we should also
do the other two heap functions in message transfer code
path.
Carl.
Alan Conway wrote:
The good news on my lastest commit, perftest results:
Before:
publish Time:20.226984000
publish Messages:500000
publish Rate:24719.5
After:
publish Time:9.258069000
publish Messages:500000
publish Rate:54006.9
*Double* the throughput :) Much of the additional improvement is
probably reduced heap abuse by the client, but there are probably some
concurrency gains also - I'm running these tests on an 8 core box.
Bad news: perftest --listen core dumps so the above is not the whole
story, will fix ASAP.