性能评估软件说我写了几行无用的代码


在代码出现性能瓶颈的时候,我们通常使用性能评估软件也就是Profiler 来查看代码中到底是哪几行,或者哪几个模块比较耗资源(速度慢或者占内存).

最近我就用 Profiler 跑了一下,发现我写了几处无用的代码.具体如下:

aqtime-profiler 性能评估软件说我写了几行无用的代码 I.T. 程序设计

性能评估软件说我写了几行无用的代码

每行代码左边那个数字是被调用的次数,中间是执行时间(毫秒),右边是子函数的执行时间.我红色标出来的执行次数都是 1498179,而在进入这个函数的前几行都是在判断,如果条件不符合就立马退出函数,避免继续往下执行而导致程序崩溃(数组访问越界等).

但是明显来说,这几行代码都没有起作用.删掉这几行代码能省下2-3秒的执行时间.其实这种编程风格是 “Defensive Programming” 也就是处处加些判断(比如判断对像是否为 null)而不让程序崩溃.但实际上并不推荐,因为最好是一遇到错误就立即抛出异常,这样可以让我们更早的知道潜在的问题,而不是隐藏错误.

英文: The profiler told me I wrote some useless code (An Example of Defensive Programming)

GD Star Rating
loading...
本文一共 339 个汉字, 你数一下对不对.
性能评估软件说我写了几行无用的代码. (AMP 移动加速版本)
上一篇: 步子迈太大容易扯到蛋
下一篇: 出租些SP 当一回债主 - 怎么样把你多余的SP租出去收点利息?

扫描二维码,分享本文到微信朋友圈
1f10898d335cf04eb9d3bf1b098d1429 性能评估软件说我写了几行无用的代码 I.T. 程序设计

评论