打印随机数数组的测量时间始终显示为 0 秒
Measuring time for my array of random numbers to print is always showing 0 seconds
我的第一个 post 在这里。只是想知道为什么我的秒表总是显示 0 秒或 0 毫秒,无论我的数组中的随机数有多少。我非常感谢你的帮助。
这是我的代码:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
double clock_start()
{
clock_t start = clock();
return start;
}
void random_number()
{
int array[10000];
srand(6);
cout << "10k Random numbers: ";
for (int i = 0; i < 10000; i++)
{
array[i] = rand() % 99 + 1;
cout << array[i] << "\n";
}
}
int main()
{
setlocale(LC_ALL, "");
//-------------------------//
random_number();
clock_t elapsed = (clock() - clock_start()) / (CLOCKS_PER_SEC / 1000);
cout << "Stopwatch: " << elapsed << "ms" << " or " << elapsed * 1000 << "s" << endl;
//-------------------------//
system("pause > nul");
return 0;
}
(clock() - clock_start())
一眨眼就被评价了
clock_start()
所做的只是 return clock()
。 (事实上 ,一个好的优化编译器会将 clock_start()
替换为 clock()
!)
差异几乎肯定为零。你想要像
这样的东西吗
clock_t start = clock();
random_number();
clock_t elapsed = (clock() - start) / (CLOCKS_PER_SEC / 1000);
代替?
感谢大家的帮助!我很惊讶这个社区的回复速度有多快。
所以我删除了 clock_start() 函数。我添加了:
clock_t start = clock();
到我的主要功能。
我的第一个 post 在这里。只是想知道为什么我的秒表总是显示 0 秒或 0 毫秒,无论我的数组中的随机数有多少。我非常感谢你的帮助。 这是我的代码:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
double clock_start()
{
clock_t start = clock();
return start;
}
void random_number()
{
int array[10000];
srand(6);
cout << "10k Random numbers: ";
for (int i = 0; i < 10000; i++)
{
array[i] = rand() % 99 + 1;
cout << array[i] << "\n";
}
}
int main()
{
setlocale(LC_ALL, "");
//-------------------------//
random_number();
clock_t elapsed = (clock() - clock_start()) / (CLOCKS_PER_SEC / 1000);
cout << "Stopwatch: " << elapsed << "ms" << " or " << elapsed * 1000 << "s" << endl;
//-------------------------//
system("pause > nul");
return 0;
}
(clock() - clock_start())
一眨眼就被评价了
clock_start()
所做的只是 return clock()
。 (事实上 ,一个好的优化编译器会将 clock_start()
替换为 clock()
!)
差异几乎肯定为零。你想要像
这样的东西吗clock_t start = clock();
random_number();
clock_t elapsed = (clock() - start) / (CLOCKS_PER_SEC / 1000);
代替?
感谢大家的帮助!我很惊讶这个社区的回复速度有多快。 所以我删除了 clock_start() 函数。我添加了:
clock_t start = clock();
到我的主要功能。