![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码优化
文章平均质量分 79
crazyhacking
like a hacker
展开
-
规约求和,使得相加次数最少
问题:n个数相加,怎样使得相加的次数最少。不允许使用乘法分析:1 使用树形结构,规约,需要log(n)次规约。 规约求和要求n=2^i。2 对于不是2^i次方的数,需要转化。转化为二进制数。例如,11011111。使用一个数组记录每个位(2^0,2^1,2^2.。。。)对应的值。然后扫描这个二进制数,相加。原创 2012-11-23 14:51:53 · 1141 阅读 · 0 评论 -
代码优化的小知识点
1 for (int i=count-1; i!=0; i--) 比较好要说效率,有一点可以让1和0不同:for (int i=count-1; i!=0; i--)比for (int i=count; i!=1; i--)可能会快一些,因为大多数的CPU指令都有直接判断是否为0的。2为什么大多数编程语言中的数组都是从0开始计数的,比从1开始计数有什原创 2013-04-24 17:48:22 · 874 阅读 · 0 评论 -
服务器性能分析工具gprof的使用及没有生成gmon.out文件的原因
早上从网上查看资料时无意中看到了gprof这个工具,随便把他用在项目里试了一下。结果发现调用次数的数据比较全,但调用时间基本上都是0。网上查了一下发现gprof只记录执行时间超过0.01秒即10毫秒的函数调用时间:*(,我测的是服务器程序,这个时间也太长了吧!!!! 从网上总结了gprof使用的注意事项,说不定以后会用到:一,gprof只能查看用户函数信息。如果想查看库函数的转载 2013-09-24 13:56:09 · 6444 阅读 · 0 评论 -
使用strace+pstack利器分析程序性能
引言有时我们需要对程序进行优化、减少程序响应时间。除了一段段地对代码进行时间复杂度分析,我们还有更便捷的方法吗?若能直接找到影响程序运行时间的函数调用,再有针对地对相关函数进行代码分析和优化,那相比漫无目的地看代码,效率就高多了。将strace和pstack工具结合起来使用,就可以达到以上目的。strace跟踪程序使用的底层系统调用,可输出系统调用被执行的时间点以及各个调用转载 2014-04-01 18:22:14 · 832 阅读 · 0 评论