我已经编写了一个嵌入式软件(当然使用 C),现在我正在考虑改进系统运行时间的方法。我系统中最重要的单个模块是一个非常大的嵌套 for 循环模块。
该模块由两个嵌套的 for 循环组成,最多循环 122500 次。这还不是很多,但问题是在嵌套的 for 循环中,我有一个对另一个源文件中的函数的函数调用。该特定函数主要由两个嵌套的 for 循环组成,循环总是 22500 次。所以现在我必须进行 122500 次函数调用。
我已经使要调用的函数变得更轻更短(但仍然可以正常工作),现在我开始认为撕掉该函数调用并直接在前两个函数中编写该过程会更快循环?
该系统中的处理器是ARM7TDMI,频率为55MHz。系统本身的时间要求不是很高,因此不必具备实时能力。但是,它处理其职责的速度越快越好。
使用while循环而不是fors也会更快吗?任何关于如何提高运行时间的建议都值得赞赏。
-zaplec