zoukankan      html  css  js  c++  java
  • 一步一步做高性能服务器(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

  • 相关阅读:
    30岁前不必在乎的28件事
    开发工作的枯燥与快乐
    Ajax技术的初步认识二(转)
    算法实习一
    判断程序是否运行的代码 (有点单例模式的味道)
    SQL2008+SERVER2008的解决方案
    天秤座的爱情(转)
    VB sytem32\ieframe.dll找不到的解决方案
    回忆有感《清明雨上》
    Ajax技术的初步认识一(转)
  • 原文地址:https://www.cnblogs.com/coddingfun/p/3410883.html
Copyright © 2011-2022 走看看