一步一步做高性能服务器(C++) -- Day 2

【回顾】

昨儿因为加班到凌晨两点,导致后面没时间写代码。

先面壁一会儿吧,这个借口找的有点太牵强了。。。

 

【新的技术点】

1. 复习了友元: 对其他的类或函数开放访问类本身私有字段的权限

2. 学习了对于不同类型的 << 操作符重载实现。 对于字符串类型的按字节流入,还是有点疑惑。

 

【今天实现目标】
俗话说的好,饭要一口一口的吃。

首先,今天要实现基于libevent的TCP实现,能够使用客户端发送和接受数据。

今天的实现,不考虑类的抽象和封装,仅仅是实现功能。

 

【结尾】

今天实现了TCP的echo server,并且跑了下压力测试。 因为多连接测试比较复杂,而且已经有比较成熟的benchmark了,因此我只做了单链接的压力。

结果如下:

echo 次数(1000)   : 平均时间【22.4ms】 最大时间【30ms】 最短时间【20ms】

echo 次数 (10000)   :   平均时间【23.2ms】 最大时间【81ms】 最短时间【8ms】

echo次数(1000000)  :  平均时间【24.4ms】 最大时间【218ms】 最短时间【8ms】

个人觉得这个性能还是相对不错的。

明天需要实现对libevent的二次封装,read callback, error callback,以及如何控制回写等等。

 

【代码】

代码已更新至bitbucket,地址:https://bitbucket.org/Allen_Wu/gas

 

posted @ 2013-11-06 16:51  Allen_Wu  阅读(668)  评论(0编辑  收藏  举报