C++11 网络库 handy

码农软件 · 软件分类 · 网络工具包 · 2019-02-26 22:44:29

软件介绍

handy

a HANDY network C++11 libray on linux.

reactor 模式

支持优雅退出

无锁日志系统,按时间间隔轮替

代码简短

参考muduo的实现,采用C++11简化代码

ubuntu14 64位/g++ 4.8.1上通过测试

性能

handy的http服务器性能对比

对比了libevent2.0.21的test下http_bench以及nginx的性能

测试环境为thinkpad t420笔记本上的ubuntu14 64位虚机

nginx使用agentzh的echo模块

worker_processes=1

location /hello {

echo "hello world!"

}

http_bench为默认参数

handy使用的程序为example下的http-echo

其中nginx的qps较低,主要原因为nginx的响应内容较多,包括了多个header,并且使用chunk编码

handy和libevent的性能不相上下

单机千万并发连接测试

安装

make

examples

#include <handy/handy.h>
using namespace handy;

int main(int argc, const char* argv[]) {
    EventBase base;
    Signal::signal(SIGINT, [&]{ base.exit(); });
    TcpServerPtr svr = TcpServer::startServer(&base, "", 99);
    exitif(svr == NULL, "start tcp server failed");
    svr->onConnRead([](const TcpConnPtr& con) {
        con->send(con->getInput());
    });
    base.loop();
}

本文地址:https://www.codercto.com/soft/d/211.html

Rust编程之道

Rust编程之道

张汉东 / 电子工业出版社 / 2019-1 / 128

Rust 是一门利用现代化的类型系统,有机地融合了内存管理、所有权语义和混合编程范式的编程语言。它不仅能科学地保证程序的正确性,还能保证内存安全和线程安全。同时,还有能与C/C++语言媲美的性能,以及能和动态语言媲美的开发效率。 《Rust编程之道》并非对语法内容进行简单罗列讲解,而是从四个维度深入全面且通透地介绍了Rust 语言。从设计哲学出发,探索Rust 语言的内在一致性;从源码分析入......一起来看看 《Rust编程之道》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具