发现自己水平很欠缺!
今天花了一天的时间来做一个nio的题目,看起来并不难,代码写完之后稍微测试了一下,感觉没问题,提交,结果提示程序运行结果有问题。debug了很久,短短300行代码中发现了四五个bug!受不了我自己了,编程的时候都考虑的不全面,有时候还会出现点笔误,严重鄙视自己!后来又从网上找来测试数据,发现程序仍然有问题,还好,这次是理解题目出现了偏差,纠正过来之后,再运行测试用例,都通过了。满怀信心的提交,结果提示:Time Limit Exceed 。我已经在改进效率上花了一番功夫,没想到效率还是很低。吃晚饭的时候还考虑自己再写一个内存池来提高动态分配内存效率,因为我认为,程序花在分配内存的时间太多了,程序执行过程中会生成很多小的对象。正准备开始写自己的分配函数,突然想到为什么不先profile一下呢,看看到底哪里是性能的瓶颈。结果完全出乎我的意料之外,生成那些小对象基本没有占用什么时间,反倒是在我写的一个addEvent函数整个执行过程中被调用了近20000次,花了3秒多的时间,问题竟然在这里!稍加分析,得出问题的根源所在,改写之后,3秒时间变为了3毫秒!
总结:
1.在profile之前,凭自己的判断来确定瓶颈往往不可靠!记住80-20原则,找到问题的根源再动手改进!
2.基础还比较差,需要静心学习!
发现自己水平很欠缺!相关推荐
- 【荐读】我观察14年才发现,那些很努力却没成就的人都有一个特点
[荐读]我观察14年才发现,那些很努力却没成就的人都有一个特点 2017-03-29 正信正行珞珈精英 来源:知识管理中心KMCenter(ID:KMCenter) 作者:田志刚 http://mp. ...
- 我观察14年才发现,那些很努力却没成就的人都有一个特点
转自羊城晚报 http://mp.weixin.qq.com/s?__biz=MjM5MTYwMTMwMQ==&mid=2651260915&idx=7&sn=48a66743 ...
- linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
1.现象 当我们使用free命令查看内存的时候,发现可用物理内存很少,但是通过进程查看没有进程占用大内存. [root@nexus-76150 ~]# free -h total usedfreesh ...
- 本人有一个60G的金士顿的固态硬盘,测了4K分区对齐前后的区别,发现性能相差很大...
本人有一个60G的金士顿的固态硬盘,测了4K分区对齐前后的区别,发现性能相差很大,不说了,先上图,软件优化和测分软件在下边,有下载的网址: 先上没有4K分区对齐的跑分 注意下图中 31k- BAD, ...
- 发现了一个很好用的电脑上用电脑控制安卓手机的软件
2019独角兽企业重金招聘Python工程师标准>>> 发现了一个很好用的电脑上用电脑控制安卓手机的软件scrcpy, 还是开源的 地址: https://github.com/Ge ...
- 编程水平很高的程序员是如何训练出来的?
我们首先需要弄明白"程序"究竟是什么.(此文转载自乐字节) 原理很简单:计算机是一种能够在一秒钟内做出数十亿道算术题的设备:程序员可以通过与或非三种逻辑判断影响计算机的做题顺序,这 ...
- JSON:如果你愿意一层一层剥开我的心,你会发现...这里水很深——深入理解JSON...
2019独角兽企业重金招聘Python工程师标准>>> 我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是 ...
- 驱动开发基础知识 偶然发现的,很全面
1.三种类型的WDM驱动程序 总线驱动程序(bus driver) 功能驱动程序(function driver) 过滤驱动程序(filter driver) 2.其他分类方法 ...
- 计算机专业考300分难吗,考研300分是什么水平 很难考吗
考研300分,这是一个不太理想的成绩,对于不少学科,比如经济.管理.文学.教育学等学科而言,是进不了国家线的,自然,也就没有读研的可能. 考研300分什么概念 考研300分,这是一个不太理想的成绩,对 ...
最新文章
- 关于Nowpaper
- FireDAC 中文字段过滤问题
- @excel 注解_Java中注解学习系列教程-3
- 电脑工具栏怎么调整到下面_PDF格式的合同怎么盖公章?这不是在为难我胖虎吗?...
- 都说比特币无价值,涨得不合理;但你知道比特币最大的用途吗?
- 天然气压缩因子计算软件_测量天然气用什么流量计?
- iOS ChildViewController与View
- 应该怎样学习新知识?
- POJ2752 (Seek the Name, Seek the Fame,kmp)
- Corporate Action Guidelines Terms
- 进程间通讯:实现基于多进程的文件拷贝
- 简单脱壳教程笔记(6)---手脱FSG壳
- Python批量爬取某图片网站图片
- 兰浦秋来烟雨深 几多情思在琴心
- Android案例手册 - Android Studio连接夜神模拟器和逍遥模拟器
- photoshop多选文字_60多个Photoshop文字效果教程
- 119 李元翼 梧里 徒死無益
- 图像处理基础与理解 随笔一 图像的内插
- Windows 11正式发布,新功能太绝了!
- Tekton实践篇-Tekton和Argocd的梦幻联动
热门文章
- 巴比特MatPool运营NEO节点,2019年必定是 Staking 经济元年
- 巴比特首发 | 银行卡司法冻结应遵循法治程序
- 胡乱捣鼓03——PID定身12cm直线追踪小车做起来~
- python之路(1)_重要函数使用
- 训练神经网络的详细步骤,如何训练一个神经网络
- han_attention(双向GRU+attention)(imdb数据集---文档分类)
- sql数据库去重语法_oracle大数据去重sql语句
- nginx单点故障怎么破?
- 【面试】前端面试之开发性能篇
- matplotlib修改背景颜色和插入背景图片