Other Parts Discussed in Thread: OMAP-L138
部件号: CODECOMPOSER
主题中讨论的其他器件: OMAP-L138
您好、
我正在处理一个包含大量代码的工程。 我们在 OMAP-L138 芯片上运行。 编译所用代码的 DSP 部分 (C6748) 需要~45 分钟。
特别是,有一个文件,似乎需要 20 多分钟. 这是一个非常长的文件、包含许多函数和 37k 行。
我需要将大量代码移动到这个文件中;添加了几千行。 添加后、该文件现在需要 2 小时以上的时间进行编译。
我添加的新代码具有以下一般特性:
- 只添加了几个函数、但有些函数非常长(超过 1000 行)
- 许多条件检查/ case 语句在 float 和 int 运算符上运行
- 这些函数使用批次类成员指针、即指向堆内存的指针
- 长 Switch 语句有几百种情况
- 所添加代码中的循环极少;它大多只是简单的逻辑和对外部函数的调用
由于几乎没有任何 for 循环、并且代码在本质上非常简单/程序性、我预计编译时间不会受到太大影响。 有人能解释为什么编译时间会发生如此巨大的变化吗? 哪些因素可以缩短编译时间? 函数可能只需要拆分成更小的函数;还是我使用堆内存指针使编译器的优化循环进行?