asio/ACE/apr/libevent
来源:互联网 发布:英语翻译 知乎 编辑:程序博客网 时间:2024/06/06 08:50
整体感觉:ACE太庞大,asio 太赶时髦。
ACE太过庞大,使得你即便是只使用它的一小部分,也不得不引用它的全部。而且框架一大堆,模式一个加一个,很多编程习惯也要改变。学习曲线太陡,也难以将它作为一个模块集成自己的应用。
asio呢,有个牛大大说它是现时代的ACE,我觉得比较中肯。用bind做回调也并不比虚函数好,看上去灵活了,代价却更高了。我说的不光是运行时的内存和时间代价,更重要的编译时间难以忍受。
apr大约只是一个平台无关的api封装,相对来说比较轻量级。Apache Portable Runtime (APR)
libevent就更轻量级了,轻量级到无法把它当成一个平台无关的socket,还要写很多平台相关的代码。
相比而下,我觉得apr还好点,其实我需要的只是一个机制,而不是一个完整的策略,这是unix的哲学。如果仅就异步通讯来说,我觉得linux.epoll是最好的,简单、直接、有效,如果在每个平台上都有epoll可用,所有其它封装在我看来都是多余的了。
proactor真的就比reactor高效吗?它更多的是一种策略,据说Windows的操作系统级IOCP是用线程池实现的,它能高效到哪里去?
0 0
- asio/ACE/apr/libevent
- asio/ACE/apr/libevent
- asio/ACE/apr/libevent
- 开源网络库比较 ACE、ASIO、libevent
- 开源网络库ACE、Boost的ASIO、libevent、libev、ZeroMQ
- Boost.Asio,libevent和ACE之间关于Socket编程的比较(★firecat推荐★)
- 开源网络库ACE、Boost的ASIO、libevent、libev、ZeroMQ
- ace 和 asio
- 各种网络库比较 asio libevent
- Boost.Asio与ACE比较(C++):
- aio,epoll,libevent,boost::asio解决的问题
- aio,epoll,libevent,boost::asio解决的问题
- aio,epoll,libevent,boost::asio解决的问题
- 关于网络通信模型的剖析:libevent libev libuv asio
- ACE与ASIO之间关于Socket编程的比较
- 转帖两篇关于ACE和boost::asio的文章
- ACE与ASIO之间关于Socket编程的比较
- ACE与ASIO之间关于Socket编程的比较
- 【Swift】延迟存储属性
- DSP中GEL文件的作用
- 我是菜鸟级的项目经理,但要努力成为背黑锅的人,fighting!
- Swift 实现单例模式Singleton pattern的三种方法
- CGI简介
- asio/ACE/apr/libevent
- 排序算法及其效率比较
- div标签别样的属性——tabindex
- 【01字典树】HDU 4825 Xor Sum
- dynamic programming 题目总结
- poj 1007 Quoit Design(分治)
- UItextView Placeholder
- SQLServer2008空间数据库介绍
- 后台代码 拼接table吐槽