This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CODECOMPOSER:影响编译时间的因素

Guru**** 2689775 points

Other Parts Discussed in Thread: OMAP-L138

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1595283/codecomposer-what-factors-affect-compilation-time

部件号: CODECOMPOSER
主题中讨论的其他器件: OMAP-L138

您好、

我正在处理一个包含大量代码的工程。 我们在 OMAP-L138 芯片上运行。 编译所用代码的 DSP 部分 (C6748) 需要~45 分钟。  

特别是,有一个文件,似乎需要 20 多分钟.  这是一个非常长的文件、包含许多函数和 37k 行。

我需要将大量代码移动到这个文件中;添加了几千行。 添加后、该文件现在需要 2 小时以上的时间进行编译。

我添加的新代码具有以下一般特性:

  • 只添加了几个函数、但有些函数非常长(超过 1000 行)  
  • 许多条件检查/ case 语句在 float 和 int 运算符上运行
  • 这些函数使用批次类成员指针、即指向堆内存的指针
  • 长 Switch 语句有几百种情况
  • 所添加代码中的循环极少;它大多只是简单的逻辑和对外部函数的调用

由于几乎没有任何 for 循环、并且代码在本质上非常简单/程序性、我预计编译时间不会受到太大影响。  有人能解释为什么编译时间会发生如此巨大的变化吗?  哪些因素可以缩短编译时间?  函数可能只需要拆分成更小的函数;还是我使用堆内存指针使编译器的优化循环进行?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    顺便说一下、我正在使用--opt-level 2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    我已经提请编译器专家注意此主题。 他们将能够提供最好的帮助。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Raman:

    如您所述、编译时间受各种因素和优化级别的影响、但如果我们重现此问题以提供更多帮助、会有所帮助。 请按照 如何提交编译器测试用例一文中的说明进行操作

    此外、感谢您指示您正在使用--opt_level 2 构建;了解您正在构建的所有编译器选项以及您正在使用的编译器工具链的精确版本会有所帮助。

    谢谢!

    -Alan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Alan、

    感谢您的答复。  我们使用的工具非常旧、即编译器版本 7.4.4。  我们更新到 7.4.24、现在在同一台 PC 上的编译时间为 13 分钟。  这比以前快得多;即使我们使用的版本仍然很旧。

    谢谢、

    拉曼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们使用的是非常旧的工具;编译器版本 7.4.4。  我们更新为 7.4.24

    这些版本之间的唯一区别是错误修复。  其中一个修复程序必须用于编译时错误。

    谢谢。此致、

    -乔治