OpenMP 编程实例(蒙特卡罗算法)

有关clock()函数

1,clock()函数在头文件#include

2,clock()函数的返回值类型为clock_t。clock_t其实是long,即长整形。

clock_t是用来保存时间的数据类型,typedef long clock_t。

3,clock()函数的功能:从程序被调用,创建程序进程到clock()函数调用之间的cpu时间计时单位

4,常量CLOCKS_PER_SEC,他表示一秒钟有多少个时钟计时单位。

 
  

#define CLOCK_PER_SEC ((clock_t)1000)

5. 注意: (1) clock()函数范围的时间单位是ms(毫秒)。

       (2) 现在的机器运算速度很快,当用clock()函数记录算法的效率时,不一定有效,可能得到的结果为0。可以尝试多次调用,这个“多”就自己去尝试吧
 
  

//利用蒙特卡罗算法计算半径为 1 单元的球体体积: //(1)串行执行程序为:   #include #include #include   using namespace std;   int main() {    long int max=10000000;    long int i,count=0;    double x,y,z,bulk,start_time,end_time;      start_time=clock();    time_t t;      srand((unsigned) time(&t));//函数产生一个以当前时间开始的随机种子      for(i=0;i #include #include   int main() {      long long max=10000000;      long long i,count=0;      double x,y,z,bulk,start_time,end_time;      start_time=clock();    time_t t;      srand((unsigned) time(&t));//函数产生一个以当前时间开始的随机种子      #pragma omp parallel for private(x,y,z) reduction(+:count)      for(i=0;i

你可能感兴趣的:(并行计算专题)