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。

http://blog.csdn.net/huang_xw/article/details/7956410

Poco vs Boost(Poco也有不少优点,特别是网络功能更强)的更多相关文章

  1. poco vs Boost[ZZ]

    http://wooce.iteye.com/blog/634395 POCO的优点: 1) 比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级. 2) 比 boost:a ...

  2. poco vs Boost

    Wooce Yang收集整理 POCO的优点: 1) 比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级. 2) 比 boost:asio更全面的网络库.但是boost:a ...

  3. POCO文档翻译:POCO C++库入门指南

    内容目录 介绍 Foundation库 XML库 Util库 Net库 将这些东西组合到一起 介绍 POCO C++库是一组开源C++类库的集合,它们简化及加速了用C++来开发以网络功能为核心的可移植 ...

  4. boost.ASIO-可能是下一代C++标准的网络库

    曾几何时,Boost中有一个Socket库,但后来没有了下文,C++社区一直在翘首盼望一个标准网络库的出现,网络上开源的网络库也有不少,例如Apache Portable Runtime就是比较著名的 ...

  5. 学习懈怠的时候,可以运行Qt自带的Demo,或者Delphi控件自带的Demo,或者Cantu书带的源码,运行一下Boost的例子(搞C++不学习Boost/Poco/Folly绝对是一大损失,有需要使用库要第一时间想到)(在六大的痛苦经历说明,我的理论性确实不强,更适合做实践)

    这样学还不用动脑子,而且熟悉控件也需要时间,而且慢慢就找到感觉了,就可以精神抖擞的恢复斗志干活了.或者Cantu书带的源码. 并且可以使用Mac SSD运行Qt的Demo,这样运行速度快一点. 此外, ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (42) ------ 第八章 POCO之使用POCO

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第八章 POCO 对象不应该知道如何保存它们,加载它们或者过滤它们.这是软件开发中熟 ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (43) ------ 第八章 POCO之使用POCO加载实体

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 8-2  使用POCO加载关联实体 问题 你想使用POCO预先加载关联实体. 解决方 ...

  8. Nodejs学习笔记(十三)— PM2

    目录 简介 pm2安装 操作 启动 关闭 其它方式启动/关闭 从PM2中删除 重载和重启 查看详细信息 多项目操作 集群 其它操作 写在之后... 简介 PM2 pm2是一个内置负载均衡的node.j ...

  9. Nodejs学习笔记(十三)—PM2

    简介 PM2 pm2是一个内置负载均衡的node.js应用进程管理器(也支持Windows),其它的类似功能也有不少,但是感觉pm2功能更强,更值的推荐 GitHub地址:https://github ...

随机推荐

  1. Docker CE for Windows安装使用

    原文:Docker CE for Windows安装使用 官网下载并安装Docker CE for Windows IDEA连接Docker Docker一些常用命令 Docker for windo ...

  2. ArcGIS Runtime支持的GP工具列表(转 )

    转自原文 ArcGIS Runtime支持的GP工具列表(转 ) 目前ArcGIS Runtime有两个版本 Basic 版本和Standard版本,而Basic版本不支持Geoprocessing( ...

  3. GTID的限制

    1.不支持非事务引擎(从库报错,stop slave;start slave;忽略). 2.不支持create table ... select 语句复制(主库直接报错). 3.不允许一个SQL同时更 ...

  4. KMP练习——KMP模式匹配 一(串)

    Description 求子串的next值,用next数组存放,所有输出 Input 输入一个字符串 Output 输出全部next值 Sample Input abaabcac Sample Out ...

  5. Qt的paint函数重写,以及QPaint给一条线绘制箭头

    直接代码: QPainter *painter; static const double Pi = 3.14159265358979323846264338327950288419717; stati ...

  6. Quartz 入门详解 专题

    Cron-Expressions are used to configure instances of CronTrigger. Cron-Expressions are strings that a ...

  7. 在JS中var、let和const的区别

    var有变量提升 x = 4; // 变量 x 设置为 4 console.log(x)  //输出 4 var x; // 声明 x 上面代码相当于下面的 var x; // 声明 xx = 4;  ...

  8. tolua#是Unity静态绑定lua的一个解决方案

    tolua#代码简要分析 2017-04-16 23:02 by 风恋残雪, 98 阅读, 1 评论, 收藏, 编辑 简介 tolua#是Unity静态绑定lua的一个解决方案,它通过C#提供的反射信 ...

  9. ubuntu安装docker,docker部署dotnetcore2.0 web应用(三)

    我是在本地安装的虚拟机 1.下载ubuntu18.0.4 iso镜像包 2.打开win10自带的Hyper-V管理器 3.创建新的虚拟机,引用ubuntu18.0.4 iso镜像包,一步步安装成功. ...

  10. CodeBlocks提供了预编译的WxWidgets模块,并预置TDM

    Miscellaneous For Windows, we also provide the pre-compiled wxWidgets, version 2.8.12 used to compil ...