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