11 2014 档案

摘要:我实现了一个server,支持HTTP协议和内部私有协议,为了简化部署,我设计成一个端口同时兼容两种协议的客户端。根据连接后到达的消息头自动识别客户端协议。这种事情的传统做法是,accept后加入epoll,当fd第一次可读时,读出一些并解析,判断协议类型。创建相应的上下文对象,开始服务。这样就引入... 阅读全文

posted @ 2014-11-19 21:46 chen3feng 阅读(616) 评论(0) 推荐(0)

摘要:昨天和同事奋战几个小时,解决了一个linger造成的bug。现象是这样的,这是一个我从原型接手,扩充了各种功能成为可用代码的epoll实现的非阻塞socket server程序,接收大量的短连接,测试发现性能有问题,用gperftools的cpu profiler也没看出问题。就在一些可疑调用的地方... 阅读全文

posted @ 2014-11-19 21:33 chen3feng 阅读(1138) 评论(0) 推荐(1)

摘要:大部分人都至少接触过不止一种构建工具,比如make,autotools。而我们开发了Blade,为什么那么多现成的工具不用,而又再造了一个轮子,相对于传统的make等工具,Blade的好处在又哪里呢?你的项目是否适合用Blade来构建,以前的文档都是冷冰的介绍,今天本文将从作者和开发人员以及项目代码... 阅读全文

posted @ 2014-11-04 23:02 chen3feng 阅读(2768) 评论(0) 推荐(0)

摘要:Blade是我们开发的大规模C++项目构建工具。gperftools是google开发的性能工具,由高效内存分配器,CPU性能分析器,堆分析器,堆检查器等工具组成。和其他构建工具不同,结合gtest,Blade直接集成了对测试的支持,使得你可以像构建代码一样运行测试。为了进一步提高测试的效果,我们还... 阅读全文

posted @ 2014-11-04 22:22 chen3feng 阅读(2227) 评论(4) 推荐(2)

导航