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.

[参考译文] F28M35H52C:以C.为格式的数学表达式的执行时间

Guru**** 2390755 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/657502/f28m35h52c-execution-time-of-a-mathematical-expression-in-c

部件号:F28M35H52C

大家好,我正在尝试用C语言将同步机器模拟器嵌入F28M35H52C1 Concerto微控制器中。 它应该是一个实时模拟器,因此执行时间非常重要。 对此,我对数学表达式如何“转换”为汇编程序有一些疑问。 例如,这是我的代码的一个实际句子:

*(*(a + K1)+ K2)=(-(b + i)->p_coef[0]* sq_module_u +(b + i)->p_coef[0]*(b + i)->u_i -(b + i)->q_coef[0]*(b + i)-> sq (b + i)+ b + i) (b + i)->q_coef[1]*(b + i)->u_r)*(b + i)->u_I / module_u)/ sq_module_u -(b + i)->p_coef[2];

它不会让我感到厌烦,但它能不能降低程序的性能? 我是否应该将这条线分割成其他较短的线? 我不知道这样说是否有用,但我使用的是32位浮点和FPU。

提前感谢。

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

    理想情况下,编译器应该能够解析这一行代码并生成最优化的汇编指令集,以执行预期的结果。 整个工作都在编译期间完成,因此理论上,性能不应受到影响。 虽然不太可能,但您是否注意到有任何基于您如何排列此代码行而产生不同的程序集例程的情况?

    谢谢!
    Taumer
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,谢谢您的回答。 我还没有注意到任何问题,但我将尝试进行一些测试。
    Román。