【发布时间】:2018-07-17 20:45:30
【问题描述】:
我的音频 DSP 算法处理输入声音文件(45 秒的 16 kHz 音频)。模拟完成后,gprof profiler 告诉我:
Cycles: total = 6846310893
这些信息是否足以计算此算法的“MIPS”?
假设我的目标 DSP 处理器是“100 MIPS”。
这个算法将从这 100 个中取出多少?
编辑:
处理器每个周期执行 1 条指令。
处理器以 600 MHz 运行。
【问题讨论】:
-
如果“MIPS”是指“每秒数百万条指令”,那么您的问题甚至没有意义。这是对处理器能力的衡量,而不是程序或算法的特征。
-
此外,我不了解您的特定 DSP,但处理器通常需要多个周期来执行一条指令,因此计算期间花费的周期数并不能直接说明你执行了多少指令。在任何情况下,您都需要相应的时钟速率才能将循环计数转换为时间。
-
添加了更多信息。我同意,但我认为问题的含义很清楚。
-
最后,在任何绝对意义上,特定计算的指令等价物的成本都不会从处理器的处理速率中“扣除”。相反,两者一起为您提供了计算需要多长时间的下限。
-
同样,@Danijel,算法与运行它的机器的处理能力无关,也没有直接关系。 “MIPS”对于算法没有有意义的定义。相反,对特定输入数据使用算法的特定作业涉及执行一定数量的指令(可在 MI,而不是 MIPS 中测量)以及运行它的处理器的速度( 可在MIPS) 为运行该作业所需的时间设置了一个下限。
标签: c debugging profiling signal-processing