为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取 得好的效果,否则可能白做工作。 为了找到关键路径,我们可以使用profilng技术,在linux平台上,我们可以使用gprof和oprofile工 具。 gprof是GNU工具之一,它在编译的时候在每个函数的出入口加入了pro ...
分类:
系统相关 时间:
2018-11-20 11:31:34
阅读次数:
159
一、程序分析 1、读取文件到缓冲区 def process_file(dst): # 读文件到缓冲区 try: # 打开文件 f = open(dst,'r') except IOError,s: print s return None try: # 读文件到缓冲区 bvffer = f.read( ...
分类:
其他好文 时间:
2018-10-10 00:59:14
阅读次数:
204
实验要求:?实现10以内的非负双精度浮点数加法,例如输入4.99和5.70,能够预测输出为10.69?使用Gprof测试代码热度 代码框架?随机初始化1000对数值在0~10之间的浮点数,保存在二维数组a[1000][2]中。?计算各对浮点数的相加结果,保存在数组b[1000]中,即b[0] = a ...
分类:
编程语言 时间:
2018-04-18 01:03:58
阅读次数:
239
工具选择 这里参考了http://gernotklingler.com/blog/gprof-valgrind-gperftools-evaluation-tools-application-level-cpu-profiling-linux/这个博客,它主要分析了三款Linux平台下主流的热点分析 ...
分类:
系统相关 时间:
2018-03-30 23:14:18
阅读次数:
565
一、开胃菜 hello目录下的文件结构: C代码见下节。 最简单的cmake配置文件: 如果要编译成gdb可调试的debug版本,则在配置文件中加入: 如果要编译成可用gprof分析的版本,则在配置文件中加入: 最简单的编译过程(在hello目录中编译): 这样就会在hello目录中生成可执行文件h ...
分类:
其他好文 时间:
2018-01-16 13:49:44
阅读次数:
156
通过使用gprof,我发现在优化程序的过程中,与其使用if多次调用表达式判断,虽然递归函数中判断函数的调用次数减少了,但是总时间却变长了。 自以为优化的程序,没想到却比未优化的程序还慢,看来还是得多学点底层知识。 1.未优化 2.优化 ...
分类:
其他好文 时间:
2017-12-09 12:08:28
阅读次数:
173
1 简介改进应用程序的性能是一项非常耗时耗力的工作,但是究竟程序中是哪些函数消耗掉了大部分执行时间,这通常都不是非常明显的。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为 Linux平台上的程序精确分析性能瓶颈。gprof精确地给出函数被调用的时 ...
分类:
其他好文 时间:
2017-10-17 12:25:19
阅读次数:
156
Xcode 9将Xcode Server集成进来了,这是Xcode一个新特性,不用去单独下载server了,server可以用来做CI、自动化Test等等。这里主要介绍搭建CI,相当简单 打开开关,新建一个server 可以设置集成超时时间 服务器启动了,就可以创建机器人了,机器人就是执行某些任务的 ...
分类:
其他好文 时间:
2017-10-11 19:15:17
阅读次数:
1004
os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前路径时就要用到pwd命令,而Windows中 ...
分类:
编程语言 时间:
2017-09-10 20:50:39
阅读次数:
337
framework/base下各子目录 ~/src/aosp_master/frameworks $ tree base/ -L 1 base/ ├── Android.bp ├── Android.mk ├── api 全是xml文件,定义了API ├── CleanSpec.mk ├── cmd ...
分类:
其他好文 时间:
2017-07-30 18:08:42
阅读次数:
226