gpt4 book ai didi

c++ - time.h clock() 在我的硬件上坏了吗?

转载 作者:可可西里 更新时间:2023-11-01 18:39:21 25 4
gpt4 key购买 nike

我尝试测量在 OMAP ZOOM 3430 MDK 附带的 TMS32064x+ DSP 上执行一段代码所需的时钟周期。我看DSP芯片的《Programmer's Guide》,说DSP支持clock()函数。

我做的真的很简单,我就是做

start = clock();
for (i=0;i<100;i++){
/* do something here */
}
stop = clock();
total = stop - start;

然后将“start”、“stop”和“total”的值放入先前分配给ARM处理器的共享内存中。然后我只需将它打印到 ARM 端的屏幕上。

问题是,在我的第一次执行中,我总是得到相同的“总”值,然后在我的下一次运行中我总是得到 0! “开始”和“停止”值与“总”值一起出现。

最奇怪的是,它们似乎遵循着某种规律!我把输出放在下面:

# ./sampleapp
Total = 63744
Start clock() value = 0x000000f9
Stop clock() value = 0x0000f9f9
# ./sampleapp
Total = 4177526784
Start clock() value = 0x00f9f9f9
Stop clock() value = 0xf9f9f9f9
# ./sampleapp
Total clock cyles = 0
Start clock() value = 0xf9f9f9f9
Stop clock() value = 0xf9f9f9f9

显然,clock() 运行不正常,但我不确定这是因为我做错了什么,还是因为我拥有的硬件不支持此类事情。知道为什么会发生这种情况吗?

最佳答案

从目前为止阅读的问题来看,我想说原始发帖人对此事的了解比到目前为止的贡献者要多得多,并且怀疑 clock() 已损坏(或不受支持,并返回未定义的结果)在 DSP 上似乎很有可能。

关于c++ - time.h clock() 在我的硬件上坏了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com