作者Snlinot (snlinot)
看板C_and_CPP
标题[问题] clock() 在afs上没反应
时间Mon Oct 12 13:53:01 2015
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Unix
问题(Question):
在本机上gcc出来结果是好的,都有正常的时间,但在afs上gcc就全都是零
预期的正确结果(Expected Output):
只要不是零
错误结果(Wrong Output):
零
程式码(Code):(请善用置底文网页, 记得排版)
clock_t start, end;
int i, count[1000];
double diff;
start = clock();
for(i=0;i<1000;i++){
count[i]=[i];
}
end = clock();
diff = end - start;
printf("%f", diff);
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 72.79.79.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1444629184.A.A86.html
1F:→ johnjohnlin: 时间太短,或是标准好像说如果不支援就 return -1 10/12 20:16
2F:推 LPH66: 而且 clock() 的回传值单位也不是秒数, 而是 clock 数 10/12 21:50
3F:→ LPH66: 要除以 CLOCKS_PER_SEC 才是秒数 10/12 21:50
4F:→ LPH66: 若 CLOCKS_PER_SEC 比较小那就比较有可能是时间太短 10/12 21:51
5F:→ LPH66: 然後标准确实有说可以 return -1, 这表示系统因为各种原因 10/12 21:52
6F:→ LPH66: 找不出时间就会回传 -1, 包含若系统不支援测量执行时间 10/12 21:53
7F:→ Snlinot: 但我在自己电脑上用别的资料测到134ms,拿去afs上面测还 10/13 11:16
8F:→ Snlinot: 是零耶,有可能两边cpu差这麽多吗?但我对afs不太了解 10/13 11:16
9F:→ Snlinot: 请问一定要除以clocks_per_sec吗?在网路上看有些教学是说 10/13 11:17
10F:→ Snlinot: 如果不除以clocks_per_sec,只算时间差,结果的单位是ms 10/13 11:18
11F:推 LPH66: 标准规定除以 CLOCKS_PER_SEC 就是秒数, 但没规定它要多少 10/14 00:03
12F:→ LPH66: 如果 CLOCKS_PER_SEC == 1000 那 clock_t 就是 ms 数没错 10/14 00:04
13F:→ LPH66: 只是并不是所有环境都是 1000 而已 10/14 00:04
14F:→ sunneo: 你印看看start跟end的数值啊 10/18 04:32