POCO的优点:
1) 比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级。
2) 比 boost:asio更全面的网络库。但是boost:asio也是一个非常好的网络库。
3) 包含了一些Boost所不包含的功能,像XML,数据库接口等。
4) 跟Boost相比,集成度更高,是更加统一的一个库。
5) Poco的c++代码更清洁,现代和易理解。对不是模板编程专家的人来说,POCO的代码比大多数Boost库容易理解得多
6) 可以在许多平台上使用
POCO的缺点:
1) 文档有限。但这一定程度上是因为代码的容易理解。
2) 跟Boost相比用户社群小得多。
3) 有多少能集成进C++标准是个问题。而Boost在这方面不是个问题。
Boost的特点:
Boost是高质量的库,但它不是个框架。
Boost:asio处理高并发的效率还可以。单连接吞吐稍微弱点。如果选用,最好封装好,别让boost代码吞噬你的代码,那样最后不可收拾。
asio在windows下效率是最好的。基本接近自己在iocp上开发的效率。
在linux下,他默认选用epoll, 但中间为了做了层stream cache, 效率稍有损失。而且他的epoll规则用的不太合理, 可以自己修改他的代码,达到自己的需求。
在freebsd下,他默认是select的,要自己修改他的代码条件编译,才可以支持kqueue
本文出自 “LinuxQt济南高新区” 博客,请务必保留此出处http://qtlinux.blog.51cto.com/3052744/1701905
原文地址:http://qtlinux.blog.51cto.com/3052744/1701905