我目前正在使用基于 GCC 3.3.3 的交叉编译器为 Xscale PXA270 开发板进行编译。但是,我想知道是否还有其他 Xscale 编译器可以在 Linux(或 Windows)上运行?我正在使用的交叉编译器设置在目标设备上具有可怕的性能,某些执行大量数学运算的程序在 Xscale 处理器上的性能比在类似时钟的 Pentium 2 上差 10 到 20 倍。编译器的任何其他选项都没有我应该使用基于 GCC 的编译器设置哪些或特定的编译器标志,这可能有助于提高性能?
谢谢, 本
最佳答案
与 Pentium 2 不同,XScale 架构没有本地浮点指令。这意味着必须使用整数指令来模拟 float 学 - 10 到 20 倍的减速听起来是正确的。
要提高性能,您可以尝试以下几种方法:
- 尽可能减少 float 的使用 - 在某些地方,您可以用普通整数或定点计算代替;
- 通过在可能的情况下预先计算值表来权衡内存以换取速度;
- 在不需要后者精度的计算中使用
float
而不是double
(包括使用 C99float
版本math.h
函数); - 尽量减少整数和浮点类型之间的转换。
关于linux - 适用于 Linux 的 Xscale 编译器? (还有 Xscale 编译标志问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2106982/