小赖子的英国生活和资讯

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

阅读 桌面完整版

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

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

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

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

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

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

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version