02 2017 档案

摘要:没有结构化异常,使⽤用 panic 抛出错误,recover 捕获错误。func test() { defer func() { if err := recover(); err != nil { println(err.(string)) // 将 interface{} 转型为具体类型。 } } 阅读全文
posted @ 2017-02-27 09:43 ruizhang3 阅读(589) 评论(0) 推荐(0) 编辑
摘要:在对程序进行压力测试时发现,程序有概率会在boost::asio::detail::epoll_reactor::start_op上面奔溃 尤其是在并发数较高的情况下。 查看boost中epoll_reactor.ipp中的源码,对奔溃处的逻辑进行分析后发现其基本逻辑如下: 对于每个socket链接 阅读全文
posted @ 2017-02-20 09:52 ruizhang3 阅读(1993) 评论(0) 推荐(1) 编辑
摘要:在进行代码评审时,得知资源处理程序运行时间很长,遂考虑对其进行性能分析 资源处理程序分为,读取处理、排序、输出三部分,在300万数量级的输入时,大约需要50分钟。对三部分分别计时,先使用10万输入数据进行测试,运行总时间为75秒,其中读取处理耗时65秒。 接下来计划对读取处理过程中的每一行代码进行时 阅读全文
posted @ 2017-02-12 21:13 ruizhang3 阅读(578) 评论(0) 推荐(0) 编辑