`
wooce
  • 浏览: 184162 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

poco vs Boost

    博客分类:
  • C++
阅读更多
Wooce Yang收集整理
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
0
0
分享到:
评论
1 楼 liyiwen007 2010-04-08  
学习了,以前还真不知道poco,听介绍貌似不错。

相关推荐

    基于boost.asio库的C++http/https web server

    在给定的项目中,`readme.txt`文件应该是详细描述了如何配置和编译Web服务器的步骤,包括安装Boost库、设置VS2015项目以及任何特定的编译选项。在实际操作中,开发者可能需要了解这些步骤,以成功构建和运行Web...

    C++POCO-lib(中文文档).pdf

    Poco::Any 类(基于 boost::Any),统一的错误处理及调试工具,包含各种异常类和支持断言功能,同时还包含一些内存管理类,基于引用计数的智能指针,和用于 buffer 管理及内存池的类。 3. 字符串处理 POCO 包含...

    Poco 使用说明整理,带例程

    4. Poco::Any 类是基于 boost::Any,统一的错误处理及调试工具,包含各种异常类和支持断言功能,同时还包含一些内存管理类,基于引用计数的智能指针,和用于 buffer 管理及内存池的类。 5. Poco 对于字符串的处理,...

    poco-1.9.0-all

    此外,由于Poco库依赖于Boost库,因此需要先安装Boost。 2. **下载源码**:可以从Poco官方网站下载1.9.0版本的源码,或者直接使用提供的链接进行下载。解压后得到`poco-1.9.0-all`目录。 3. **配置编译**:进入...

    C++POCO库中文编程

    POCO库类似于Java的Class Library、.NET框架以及Apple的Cocoa,但与Boost库不同,Boost更倾向于提供高级STL功能。 在POCO库的不同版本中,本文档基于的是POCO C++ Library 1.4.3p1,发布日期为2012年1月23日。该库...

    POCO C++ Libraries Introduction

    The POCO C++ Libraries are... > a collection of C++ class libraries, similar in concept to the Java Class Library, the .NET Framework or Apple's Cocoa; > focused on "internet-age" network-centric ...

    boost asio性能对比分析

    在IT行业中,Boost.Asio库是一个广泛使用的C++库,特别在开发网络应用程序时,它提供了异步I/O操作的强大支持。Boost.Asio的核心概念是它允许开发者编写并发的、非阻塞的代码,从而提高了程序的性能和可扩展性。本篇...

    cpp-sql-query-builder:构建在 PoCo 数据库抽象层之上的简单 SQL 查询构建器

    更多支持 STL/boost/PoCo 容器和类型 大量过滤器功能,便于数据打印(部分已实现) 这个项目绝不是为了替代 ORM*,而是应该让一些事情变得更容易、更快和更安全。 截至目前,它已经部分实现了 SELECT 子句支持,...

    LibCMaker_POCO:LibCMaker构建POCO库的脚本

    6. **依赖管理**:CMake的`find_package`命令可以帮助查找和配置POCO库所需的外部依赖,例如Boost、OpenSSL等。如果缺少依赖,脚本可能提供指引或自动下载。 7. **测试集成**:CMake支持CTest框架,LibCMaker_POCO...

    开源POCO C++库,基于2023-03-28最新代码编译,适用于苹果Macos M1、M2,支持MySQL和连结池

    Poco C++库是: 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa; 侧重于互联网时代的网络应用程序 使用高效的,现代的标准ANSI/ISO C++,并基于STL 高可移值性,并可在多个平台下可用 开源,并使用Boost...

    websocket代码

    常见的C++ WebSocket库有Poco、Boost.Asio、Wt等。这里我们以Poco库为例,来探讨如何创建一个简单的WebSocket服务器。 首先,你需要安装Poco库,这个库包含了WebSocket相关的类和功能。安装完成后,在项目中引入所...

    C++TCP通讯类(兼容window和linux)

    可以使用Boost.Asio库或者Poco库,它们提供了统一的API,可以在不同的操作系统上使用。 - Boost.Asio是一个强大的网络编程库,提供了异步和同步的I/O操作,支持多种协议,包括TCP。 - Poco库同样提供了全面的网络...

    c++定时器,用于vs

    在VS中,有多种方法可以实现C++定时器功能,包括但不限于Windows API、Boost库以及C++11标准库中的std::this_thread::sleep_for。 1. **Windows API定时器**: Windows API提供了SetTimer函数,允许开发者创建一个...

    C++实现 Https Server 支持 restful json

    C++标准库并不直接支持HTTP或HTTPS服务器的创建,但有多个第三方库可以使用,如Poco、Boost.Asio和cpprestsdk等。这些库提供了方便的API来处理网络连接、数据读写以及HTTP协议解析。这里我们假设使用Poco库,因为其...

    websocket C++ Server端简单demo

    在C++中,我们可以使用各种库来实现WebSocket服务器,如Boost.Beast、Poco等。 在"websocketserver"这个文件中,我们可能看到以下关键组件: 1. **连接处理**:服务器需要监听特定端口,等待客户端的连接请求。当...

    C++各大有名库的介绍.docx

    除了以上提到的库,还有很多其他著名和实用的C++库,例如ACE(Adaptive Communication Environment)用于网络编程,OpenCV用于计算机视觉,Poco用于网络和系统编程,Eigen用于数值计算,以及Apache Thrift和Google ...

    c++网络编程之二,网络编程源代码

    其中,最常用的库有Boost.Asio和Poco Network。这两个库都提供了高级别的接口,简化了套接字操作,并支持多种协议。本教程中,我们可能将学习如何使用这些库进行基本的网络通信。 1. **Boost.Asio**: Boost.Asio是...

    十大必备的C-C++开源库及其应用场景.md

    这些库包括Boost、Qt、STL、OpenCV、Eigen、Poco、cURL、JSON for Modern C++、GTest/GMock和TBB,每个库都有其独特的功能和应用场景。Boost提供丰富的通用组件,如智能指针、线程、文件系统等,是现代C++开发的重要...

    simple_network.zip_C++_plus

    在Windows平台上,我们可以利用Microsoft的Windows API或者更现代的C++库,如Boost.Asio或Poco,来实现网络通信。 首先,让我们了解一下C++中的网络编程基础。在网络编程中,我们通常会涉及套接字(Sockets)概念,...

    C++学习总结

    Boost是一个C++库集合,包含了许多实用的模板库,例如Boost.Asio用于网络编程、Boost.Thread用于多线程编程等。C++对象模型关注于C++如何在编译后以对象形式存在于内存中。Modern Design是指现代C++的设计理念,强调...

Global site tag (gtag.js) - Google Analytics