发现自己水平很欠缺!

今天花了一天的时间来做一个nio的题目,看起来并不难,代码写完之后稍微测试了一下,感觉没问题,提交,结果提示程序运行结果有问题。debug了很久,短短300行代码中发现了四五个bug!受不了我自己了,编程的时候都考虑的不全面,有时候还会出现点笔误,严重鄙视自己!后来又从网上找来测试数据,发现程序仍然有问题,还好,这次是理解题目出现了偏差,纠正过来之后,再运行测试用例,都通过了。满怀信心的提交,结果提示:Time Limit Exceed 。我已经在改进效率上花了一番功夫,没想到效率还是很低。吃晚饭的时候还考虑自己再写一个内存池来提高动态分配内存效率,因为我认为,程序花在分配内存的时间太多了,程序执行过程中会生成很多小的对象。正准备开始写自己的分配函数,突然想到为什么不先profile一下呢,看看到底哪里是性能的瓶颈。结果完全出乎我的意料之外,生成那些小对象基本没有占用什么时间,反倒是在我写的一个addEvent函数整个执行过程中被调用了近20000次,花了3秒多的时间,问题竟然在这里!稍加分析,得出问题的根源所在,改写之后,3秒时间变为了3毫秒!

总结:

1.在profile之前,凭自己的判断来确定瓶颈往往不可靠!记住80-20原则,找到问题的根源再动手改进!

2.基础还比较差,需要静心学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值