dbi*_*ash 12 performance posix ipc glib message-queue
有没有人知道GLib的GAsyncQueue与POSIX message_queue相对于线程间通信的相对性能?我将有许多小消息(单向和请求 - 响应类型),在Linux上用C实现(现在;可能稍后移植到Windows).我正在尝试决定使用哪一个.
我发现使用GLib更便于携带,但POSIX mq具有能够选择或轮询它们的优点.
但是,我没有找到有关其性能更好的任何信息.
dbi*_*ash 15
由于我的问题没有回复,我决定自己进行一些性能测试.主要想法来自http://cybertiggyr.com/throughput/throughput.html.测试的想法是:
以下是获得的结果:

总而言之,perf(GAsyncQueue)> perf(mq)> perf(UNIX套接字),尽管GAsyncQueue和POSIX消息队列的性能在大多数情况下是可比较的 - 但只有小消息大小才会出现差异.
我想知道如何实现GAsyncQueue以提供比Linux的本机消息队列实现更好的性能.遗憾的是它不能像其他两个一样用于进程间通信.