AIX 作为移植平台
2009-12-18 00:00:00 来源:WEB开发网自动优化 是使用最广泛的技术,因为这种优化常常由编译器执行。最常用的技术包括:
更高的优化级别。这使用编译器标志 -O、-O2、-O3(优化级别依次增高)来进一步挖掘性能潜力。随着优化级别的提高,编译源代码所用的编译时间和系统资源增加,而性能的提升幅度下降。因此,大多数代码都用 –O 或 –O2 编译,只有特殊的代码用更高的优化级别编译。
与硬件相关的优化。在 AIX 上,这通常意味着使用 –qarch=architecture 和 –qtune=architecture,其中的 architecture 是微处理器体系结构。–qarch 标志引入指定的微处理器特有的硬件指令。如果指定 –qarch 标志,那么生成的二进制代码只能在指定的微处理器体系结构上运行。另一方面,–qtune 不引入微处理器体系结构特有的指令,而是按照在指定的微处理器体系结构上性能最优的方式调整代码。
基于反馈的程序重构技术用于根据给定的工作负载调整可执行程序。在使用这种技术时,会收集关于给定工作负载的数据(比如剖析),然后以优化此工作负载的方式使用这些数据重构应用程序二进制代码。更多信息参见 http://www.haifa.ibm.com/projects/systems/cot/fdpr/。
剖析
剖析在一段时间内观察可执行程序,了解在这段时间内发生的情况。更具体地说,它要寻找性能不理想的代码区域。AIX 提供以下剖析工具:
tprof 工具可以用于寻找出现问题的位置,然后通过微剖析深入探察源代码。要想使用 tprof 执行微剖析,应用程序在编译和链接时必须使用 –g 调试标志。
prof 和 gprof 要求用 –p 或 –gp 标志编译代码,从而提供调用函数的次数、函数的调用者等信息。这种剖析技术与 tprof 微剖析的主要差异是,微剖析可以分析程序的时间片和整个程序,而 prof 和 gprof 只能分析整个程序。
probeVUE 是 AIX 6.1 引入的动态跟踪工具。
结束语
本文向移植工程师介绍了 AIX 平台上可用的各种工具,帮助他们构建、调试和调优移植到 AIX 的应用程序。以后的文章将更深入地讨论移植过程中的构建、调试和调优步骤。
更多精彩
赞助商链接