ZHCU881D May 2020 – May 2024
在应用经过全面调试并正常工作之后,就该开始优化过程了。首先,您需要选择适当的编译器选项。以下编译器选项会影响性能。有关命令行选项的更多详细信息,请参阅 C7000 C/C++ 编译器用户指南 (SPRUIG8)。
如果您关心性能,请勿使用 --disable_software_pipelining (-mu) 选项。此选项会关闭软件流水线。软件流水线对于在大多数循环上实现高性能至关重要。此选项可以作为调试工具,因为其使汇编代码更容易理解。
以下选项提供了用于调试和性能评估的附加信息:
--src_interlist (-s)。此选项使编译器在编译器生成的汇编文件中发送经过高级优化的源代码副本。此输出作为汇编代码中的注释置于汇编文件中。优化器的注释输出看起来像 C 代码,并显示了已应用的高级转换,例如内联、循环合并和矢量化。此选项有助于您理解汇编代码以及编译器为优化代码性能所做的一些工作。此选项会开启 --keep_asm (-k) 选项,因此编译器生成的汇编文件 (.asm) 将不会被删除。
--debug_software_pipeline (-mw)。此选项提供有关软件流水线循环的额外信息,包括循环的单次调度迭代。本文档后续介绍的循环调优示例中将使用此信息。此选项会开启 --keep_asm (-k) 选项,因此编译器生成的汇编文件 (.asm) 将不会被删除。
--gen_opt_info=2 (-on2)。此选项创建 .nfo 文件,其基本名称与 .obj 文件相同。此文件包含有关已应用的高级优化的摘要信息以及提供建议。