调用子程序,需要消耗多少个指令周期,在子程序内部定义临时变量,和使用形参传递那种方式占用的时间长,
Jones Chen:
建议楼主在程序上自己做个测试:
关于调用子程序,在程序入口处和出口处分别用Profile(Option下的Timer)打开,计数有多少个Cycle。
或者翻转电平来测试一下。
调用子程序,需要消耗多少个指令周期,在子程序内部定义临时变量,和使用形参传递那种方式占用的时间长,
yao zhao:
回复 Jones Chen:
这个有没有一些理论上的数据做参考,在实际中我们以做过一些测试,但是发现一个简单的程序在主程序和子程序中使用,占用的时间相差比较大,能达到将近100个Cycle.在主程序中大约为240个Cycle,在子程序可以达到340个Cycle左右
在子程序调用和返回时,大约用暂用十几个Cycle.
调用子程序,需要消耗多少个指令周期,在子程序内部定义临时变量,和使用形参传递那种方式占用的时间长,
Jones Chen:
回复 yao zhao:
这个就和您的测试是一样的,在不同的情况下的Cycle不同,因为堆栈等都不一样,所以很难给出准确和参考值。
以你的测试为准。
调用子程序,需要消耗多少个指令周期,在子程序内部定义临时变量,和使用形参传递那种方式占用的时间长,
10#:
如楼上jones建议的一样,使用硬件的电平翻转测试的时间是最准确的。
这个时间与太多因素有关,很难给出一个参考值,比如函数调用的层次,参数类型是普通变量、数组、指针与结构体的差别,堆栈大小,是否有中断等等。
调用子程序,需要消耗多少个指令周期,在子程序内部定义临时变量,和使用形参传递那种方式占用的时间长,
Jones Chen:
回复 10#:
楼上说的有道理!