poco vs Boost[ZZ]

时间:2022-02-26 21:51:36
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在这方面不是个问题。

许多POCO的用户把POCO和Boost一起并用。 
Boost是高质量的库,但它不是个框架。 
Boost:asio处理高并发的效率还可以。 单连接吞吐稍微弱点。  如果选用, 最好封装好, 别让boost代码吞噬你的代码, 那样最后不可收拾。 呵呵。 
asio在windows下效率是最好的。 基本接近自己在iocp上开发的效率。 在linux下, 他默认选用epoll, 但中间为了做了层stream cache, 效率稍有损失。 而且他的epoll规则用的不太合理, 可以自己修改他的代码, 达到自己的需求。 
在freebsd下, 他默认是select的, 要自己修改他的代码条件编译, 才可以支持kqueue