0. 环境
Debian 8.8 x86_64
1. 安装doxygen和graphviz
这是生成代码文档需要的两个组件。前者不必说了,后者是用来画图的(UML图,函数调用图)。
graphviz可直接apt安装:
apt-get install graphviz
下面[……]
Debian 8.8 x86_64
这是生成代码文档需要的两个组件。前者不必说了,后者是用来画图的(UML图,函数调用图)。
graphviz可直接apt安装:
apt-get install graphviz
下面[……]
类似于神威系统上的gprof
使用方法。
根据《神威并行程序设计与优化》所述,分析核心代码段的步骤如下。
1. 提交作业时加 --sw3runarg="-p -f" 命令行选项
2. 作业运行结束后生成: gmon.out 文件
3. 在 gmon.out 目录下执行: g[......]
阅读代码在学习编程或开发软件的过程中十分重要,几个月来阅读和改写代码的经历也让我意识到,拥有简洁好用的工具对更快更好地理解代码是多么关键。cscope 就是一个非常好的代码分析工具,当其与 emacs 双[……]
在之前的文章编译安装 CodeViz中讲到了如何安装 CodeViz,其实也就是如何编译打过补丁的 gcc 4.6.2。接下来就要利用编译好的工具对源代码进行函数调用方面的分析了。我们的目的是分析源代码(C,C++),生成函数调用关系图,并且在此过程中还可以根据需要进行一些配置。[……]
本章涉及到两个问题,其一是数据空间技术,目标是减少程序所需数据的存储空间;其二是代码空间技术,目标是减少执行期间保存程序时所用的内存。
数据空间技术
不存储,重新计算。 如果我们在需要某一给定对象的任何时候,都对其进行重新计算而不保存,那么保存该对象所需的空间就可以急剧地减少。此方[……]
在本章的第一部分,作者通过一个具体事例引出了代码调优的主题,也交代了调优的基本步骤:监视程序的性能-研究时间占用最多的代码段/函数-针对具体的代码段进行改进。在这个事例中,占用运行时间最多的是malloc函数,最终的改进方法是利用高速缓存优化。
在第二部分,作者通过连续4个问题进一步阐述了[……]