ARM上C代码的复杂性

ARM上C代码的复杂性,c,arm,workload,C,Arm,Workload,我正在尝试在ARM设备上运行我的代码。到目前为止,它正在运行,我也有一个工具来测量复杂性。现在我有很多标准函数,我用它们来执行数学运算,比如除法、乘法、加法等等 如果我将这些函数写成 result = a + b; 或作为 "qadd %0, %1, %4;" 如果值在各自的寄存器中,则这将是此操作的arm代码。我只是想知道用ARM代码编写所有东西是否真的能降低复杂性。 还有,条件句(如If和Else)的行为如何 谢谢。让编译器来处理,直到发现瓶颈为止 请注意,QADD是一种饱和算法,与您展

我正在尝试在ARM设备上运行我的代码。到目前为止,它正在运行,我也有一个工具来测量复杂性。现在我有很多标准函数,我用它们来执行数学运算,比如除法、乘法、加法等等

如果我将这些函数写成

result = a + b;
或作为

"qadd %0, %1, %4;"
如果值在各自的寄存器中,则这将是此操作的arm代码。我只是想知道用ARM代码编写所有东西是否真的能降低复杂性。 还有,条件句(如If和Else)的行为如何


谢谢。

让编译器来处理,直到发现瓶颈为止


请注意,
QADD
是一种饱和算法,与您展示的C代码具有不同的行为。

除非您手动使用非常非常糟糕的编译器,否则您可能会做得更糟。复杂性具有技术意义。您是否是非母语人士,并且关心编译器翻译成机器代码?是一种衡量函数易懂程度的指标,也是代码质量的指标。如果你一直用这个词,你能很清楚你所说的复杂性是什么意思吗?还有,等等…例如,请参见您的问题。独立于正在使用的CPU。如果循环执行N^2次,其中“N”是一个参数,则例程为O(c*N^2),编译器不会修复此问题。常量“c”可能会因编译器而改变,但如果输入足够大,任何CPU都会出现问题。我想你指的是“编译器翻译效率”或“编译器代码生成”。对于你似乎要问的概念来说,复杂性是一个错误的词(不清楚的问题)?这不是相同的操作。您需要学习C或ARM组装。这不是复杂性的含义。