VS2015测试某一段程序执行时间

#include

#include

#include

using namespace std;
方法一:使用GetTickCount()函数获取系统时间,程序执行前后系统时间差值就是该程序段的执行时间!

 

 

int main()
{
//M1使用GetTickCount()函数
//需要添加头文件iostream和windows.h
long start_time = GetTickCount(); //获取此程序段开始执行时间
{
//测试程序段
int size = 64 * 1024 * 1024;
int *arr = new int[size];
for (int i = 0; i < size; i++) arr[i] *= 3;
for (int i = 0; i < size; i += 8) arr[i] *= 3;
}
long end_time = GetTickCount(); //获取此程序段开始执行时间

cout << "程序段运行时间:" << (end_time - start_time) << "ms!" << endl; //差值即执行时间

cin.get();
    return 0;

}

 

方法二:使用clock()函数,原理和方法一类似

int main()
{

//需要头文件iostream和time.h
clock_t start_time = clock();
{
//被测试代码
int size = 64 * 1024 * 1024;
int *arr = new int[size];
for (int i = 0; i < size; i++) arr[i] *= 3;
for (int i = 0; i < size; i += 8) arr[i] *= 3;
}
clock_t end_time = clock();
cout << "程序段运行时间:" << static_cast (end_time - start_time) / CLOCKS_PER_SEC * 1000 << "ms" << endl;

cin.get();
    return 0;

}

 

方法三:C++标准 std::chrono

// steady_clock example
#include 
#include 
#include 
#include 

using namespace std;


int main()
{
	using namespace std::chrono;

	steady_clock::time_point t1 = steady_clock::now();

	std::cout << "printing out 1000 stars...\n";
	for (int i = 0; i < 10; ++i)
	{
		std::this_thread::sleep_for(1s);
		std::cout << "*";
	}
	std::cout << std::endl;

	steady_clock::time_point t2 = steady_clock::now();

	duration time_span = duration_cast>(t2 - t1);

	std::cout << "It took me " << time_span.count() << " seconds.";
	std::cout << std::endl;

	return 0;
}

 

 

你可能感兴趣的:(C++笔记)