Emm*_*ace 0 c performance microcontroller
我正在做一个电子项目.在项目中我有一个微控制器.我想衡量一下我的变化对时间表现的影响.
二进制文件不是很大(实际上是11760字节).微控制器运行大约20Mhz(基于晶体值).所以基本上他每秒可以运行20M操作.
您是否认为根据每个功能的指令计数检查由于更改而导致的性能影响是否是个好主意?就像是 :

看起来你混淆静态指令和动态指令计数.
函数或二进制文件的大小并不表示它将运行多少指令.以一个简单的循环为例(在我编写的一些伪程序集中)转换成
mov r1, 100
label1:
dec r1
jnz label1
Run Code Online (Sandbox Code Playgroud)
这些是3个静态指令,并且会占用二进制上的一些小空间(取决于它们的操作码大小),但运行它的处理器必须执行100次循环,相当于201个动态指令.当然,性能取决于执行的动态指令的数量(加上由气泡,错误预测,管道深度等引起的任何延迟).
例如,如果您要用10000替换100,那么您将在二进制文件上使用完全相同的空间(假设100以int开头的形式存储),但执行速度可能会慢100倍.