0

我正在尝试优化使用 xtensa LX6 微处理器的 esp32 上的代码,我想知道用于读取或写入特殊寄存器的 wsr 和 rsr 指令的成本。

4

1 回答 1

0

首先,只有在你进行了分析之后才进行优化,并得出这是你的瓶颈的结论。

在极少数情况下(例如访问寄存器的函数),优化编译器生成的代码可能是个好主意,但通常这不是瓶颈所在。

通常,在优化编译器生成的代码时:

  1. 编写一个非常简单的函数(生成您认为可以优化的 asm)
  2. 为此函数创建 TESTS(人们在编写自己的 asm 时往往会引入奇怪的错误)
  3. 运行和测量
  4. 用您的优化替换生成的 asm
  5. 测试你没有搞砸逻辑
  6. 再次运行和测量

即使您设法进行了优化,在选择优化版本之前也要考虑可读性、可移植性、维护等。

于 2019-11-11T06:45:29.363 回答