【发布时间】:2009-11-25 20:19:05
【问题描述】:
我需要类似套接字的本地 IPC。我在 Windows 上使用了命名管道和重叠 IO,我想重写应用程序以提升::ASIO,以便它也可以使用 UNIX 域套接字。
我最近查看了 libevent 库的部分内容,我知道它在 1.4 版本中仅支持用于 windows 的 socket() 和 select()。由于重叠 IO 非常有效,因此将其排除在外显然是一个不可接受的特性,该特性在版本 2(处于 alpha 版本)中得到了解决。次优实现的另一个示例是使用红黑树与优先队列来实现超时逻辑,即adressed。
有没有人对 boost 与 libevent/libev 的性能特征有任何意见。它在某些平台上是否有任何明显的不受欢迎的特征?我对这个问题的目标是,除非我绝对必须,否则我不想对 ASIO 库进行深挖。我想知道 boost::asio 是否以最优化的方式使用了最优化的操作系统原语。
【问题讨论】:
-
我认为提问者关于 libevent 在 Windows 下不支持重叠 IO 的评论已经过时了。有人确认。
标签: performance networking asynchronous benchmarking boost-asio