时钟()只是 returns 0
clock() just returns 0
The C `clock()` function just returns a zero
clock() function always returning 0
why C clock() returns 0
我查看了所有这些问题和答案
而且我了解到 clock() returns 时钟滴答每个常数因系统而异
和time() returns秒数
首先,我尝试使用 clock() 来测量排序算法的执行时间,如下所示:
#include <iostream>
#include <ctime>
... Some other headers and codes
a = clock();
exchange_sort();
a = clock() - a;
... Rest of the code
我尝试了许多不同的数据类型,例如 int、clock_t、long、float。
我用已经增加的顺序对一个相当大的数组 int arr[1000]
进行了排序。
但是a
的值一直是0,所以我尝试用gdb找原因,我在排序算法所在的行下了一个断点,这样我就可以查看a = clock();
的值和变量中必须有一些数字,但只有 0。
所以在那之后,我尝试检查是函数本身的问题还是其他类似的问题:
#include <iostream>
#include <iostream>
int main()
{
int a;
clock_t b;
float c;
long d;
a = clock();
b = clock();
c = clock();
d = clock();
return 0;
}
并且我通过gdb检查了每个变量的值,在我放入clock()
的return值之前只有垃圾数字,但是在我放入之后变量中只有0。
所以显然 clock()
在我的结论中一直 returns 0
我真的不知道该如何解决这个问题
我的g++版本是4.4.7。
我 运行 这个在 Linux
我的处理器是 x86_64-redhat-linux
clock()
函数是对 CPU 使用时间的粗略测量。您的代码没有使用足够的 CPU 时间来进行如此粗略的测量。您可能应该改用 getrusage
之类的东西。
我的代码使用了足够的 CPU 时间。但时钟似乎只以 15625ms 的步长滴答作响。
我的建议是改用 <chrono>
。
The C `clock()` function just returns a zero
clock() function always returning 0
why C clock() returns 0
我查看了所有这些问题和答案
而且我了解到 clock() returns 时钟滴答每个常数因系统而异
和time() returns秒数
首先,我尝试使用 clock() 来测量排序算法的执行时间,如下所示:
#include <iostream>
#include <ctime>
... Some other headers and codes
a = clock();
exchange_sort();
a = clock() - a;
... Rest of the code
我尝试了许多不同的数据类型,例如 int、clock_t、long、float。
我用已经增加的顺序对一个相当大的数组 int arr[1000]
进行了排序。
但是a
的值一直是0,所以我尝试用gdb找原因,我在排序算法所在的行下了一个断点,这样我就可以查看a = clock();
的值和变量中必须有一些数字,但只有 0。
所以在那之后,我尝试检查是函数本身的问题还是其他类似的问题:
#include <iostream>
#include <iostream>
int main()
{
int a;
clock_t b;
float c;
long d;
a = clock();
b = clock();
c = clock();
d = clock();
return 0;
}
并且我通过gdb检查了每个变量的值,在我放入clock()
的return值之前只有垃圾数字,但是在我放入之后变量中只有0。
所以显然 clock()
在我的结论中一直 returns 0
我真的不知道该如何解决这个问题
我的g++版本是4.4.7。 我 运行 这个在 Linux 我的处理器是 x86_64-redhat-linux
clock()
函数是对 CPU 使用时间的粗略测量。您的代码没有使用足够的 CPU 时间来进行如此粗略的测量。您可能应该改用 getrusage
之类的东西。
我的代码使用了足够的 CPU 时间。但时钟似乎只以 15625ms 的步长滴答作响。
我的建议是改用 <chrono>
。