我如何找出执行Xtensa微处理器的特定指令所需的时间,例如wsr / rsr?

问题描述 投票:0回答:1

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

performance assembly micro-optimization esp32 xtensa
1个回答
0
投票

首先,仅在概要分析后进行优化,并得出结论,这是您的瓶颈。

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

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

  1. 编写一个非常简单的函数(产生您认为可以优化的asm)
  2. 为此功能创建测试(人们在编写自己的asm时往往会引入奇怪的错误)
  3. 运行并测量
  4. 用您的优化替换生成的asm
  5. 测试您是否尚未弄清逻辑
  6. 再次运行并测量

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

© www.soinside.com 2019 - 2024. All rights reserved.