Openmp是一项并行化技术,是可以提高串行化程序的运行效率的,但需要使用正确的时间函数来进行衡量。
首先,先提出一个unix/linux下的内核时间获取函数和一个omp.h的一个库函数
1.clock()函数
原型:clock_t clock();
MSDN中的定义:Returns the processor time consumed by the program,返回的是处理器执行的时间,也就是说,只要内核中有程序在cpu中运行,时间就会增加,使用多核并行化技术并不能并行地计算使用的时间,仍然是进行叠加
返回值:返回时钟周期,要转化成时间需要除以常量宏CLOCKS_PER_SEC
2.omp_get_wtime()函数
原型:double omp_get_wtime();
MSDN中的定义:Returns a value in seconds of the time elapsed from some p