有关clock()函数

1,clock()函数在头文件#include<time.h>中

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<iostream>
#include<stdlib.h>
#include<time.h>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<max;i++){x=rand();
//生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。
/*  RAND_MAX是VC中stdlib.h中宏定义的一个字符常量:  #define RAND_MAX 0x7FFF   其值最小为32767,最大为2147483647   通常在产生随机小数时可以使用RAND_MAX。*/x=x/32767;y=rand(); y=y/32767; z=rand(); z=z/32767;if((x*x+y*y+z*z)<=1)count++;}bulk=8*(double(count)/max);end_time=clock();cout<<"球体的体积为"<<bulk<<endl; cout<<"运算时间为"<<(end_time-start_time)<<endl;return 0;
}
//在四核服务器上执行结果为:球体体积为 4.18862,运算时间为 1703ms。//(2)并行执行程序:利用 for 语句和归并语句对程序进行并行化。#include<stdlib.h>
#include<time.h>
#include <stdio.h>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<max;i++){x=rand();x=x/32767;y=rand();y=y/32767;z=rand();z=z/32767;if((x*x+y*y+z*z)<=1)count++;} bulk=8*((double)(count)/max); end_time=clock();printf("球体的体积为%0.8f\n",bulk);printf("运算时间为%0.8f s\n",(end_time-start_time)/1000);return 0;
}
//在四核服务器上执行结果为:球体体积为 4.18861,运算时间为 406ms。

OpenMP 编程实例(蒙特卡罗算法)相关推荐

  1. java编程算法出现在窗口_Java实现轨迹压缩算法开放窗口代码编程实例分享

    Java实现轨迹压缩算法开放窗口代码编程实例分享,今天要给各位朋友分享的这篇文章主要介绍了Java编程实现轨迹压缩算法开放窗口实例代码,具有一定的参考价值,有兴趣的朋友来看看吧. 轨迹压缩算法 场景描 ...

  2. OpenMP: OpenMP编程指南

    from: OpenMP: OpenMP编程指南 进入多核时代后,必须使用多线程编写程序才能让各个CPU核得到利用.在单核时代,通常使用操作系统提供的API来创建线程,然而,在多核系统中,情况发生了很 ...

  3. 三菱modbusRTU通讯实例_干货 | 解析西门子系列PLC编程实例

    点击箭头处"工业之家",选择"关注公众号"! 解析西门子系列PLC编程实例 三辊卷板机有分为机械式和液压式,机械式又分为对称式和非对称式.用于重型机械公司,将金 ...

  4. java做a_Java编程实现A*算法完整代码

    前言 A*搜寻算法俗称A星算法.这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法.常用于游戏中 通过二维数组构建的一个迷宫,"%"表示墙壁,A为起点,B为终点,&qu ...

  5. 大数据之Hadoop学习——动手实战学习MapReduce编程实例

    文章目录 一.MapReduce理论基础 二.Hadoop.Spark学习路线及资源收纳 三.MapReduce编程实例 1.自定义对象序列化 需求分析 报错:Exception in thread ...

  6. 零基础学CocosCreator·第六季-常用编程框架和算法

    第六季-常用编程框架和算法 01.MVC架构 MVC的含义 02.单例模式 单例(instance)的特点 作用 实现 调用 结果 补充 03.观察者模式-订阅发布模式 流程 实现 结果 04.工厂模 ...

  7. 【Akka】Akka入门编程实例

    引言 这篇文章主要是第一次学习Akka编程,先试试水,探探坑,对Akka和SBT的使用有一个直观的了解,以几个简单的akka编程实例来说明akka的使用.希望在日后的学习和编程中,能有更多自己的体会和 ...

  8. 【强化学习笔记】4.3 无模型的强化学习方法-蒙特卡罗算法与重要性采样

    异策略与重要性采样 因为异策略中的行动策略和目标策略不一样,也就是说行动策略产生的数据分布与目标策略的数据分布存在偏差,即即行动策略的轨迹概率分布和改善策略的轨迹概率分布不一样,因此在使用数据进行目标 ...

  9. Java经典编程实例源码及视频专题汇总

    转:http://blog.itpub.net/28566218/viewspace-760945/ Java经典编程实例源码及视频专题汇总 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语 ...

最新文章

  1. textview 背景变形_西安昆明池桁架舞台背景搭建欢迎致电
  2. DetNAS ThunderNet
  3. Knative 初体验:Build Hello World
  4. h5-plus.webview
  5. [转]iis7.5+win2008 出现 HTTP Error 503. The service is unavailable.
  6. python集合类型中的元素是有序的_python基础篇:很有意思的数据类型,集合(set) 常用去去重...
  7. maven编译报错 错误: -source 1.5 中不支持 lambda 表达式
  8. javascript 取table中内容
  9. 关于使用jacob出现的异常
  10. ios开发--企业帐号发布
  11. [Android] 百度地图API Android相关配置教程(包含获取包名、发布版SHA1和开发版SHA1)
  12. Ubuntu零基础教学-Ubuntu下如何创建.txt记事本文件
  13. wifi 框架流程分析
  14. 华硕路由域名访问_“618” WiFi6 路由器选购推荐清单_路由器
  15. manjaro linux无线网卡,为 Manjaro 18.1.4 配置无线网卡
  16. 三相维也纳pfc,开关电源,三相AC输入无桥pfc±400vDC输出
  17. android相册制作,如何用手机制作音乐相册 安卓手机能不能制作音乐相册,手机制作音乐相册的方法...
  18. pyecharts各省人口GDP可视化分析
  19. Windows蓝牙设备自动断开问题
  20. 语音专题第一讲,麦克风阵列的语音信号处理技术

热门文章

  1. ai ci ba logon use infomation
  2. 包头昆区多大面积_两套楼房,放了整整19车垃圾!包头这对母女的“特殊癖好”,让邻居彻底不能忍了.........
  3. flannel源码分析--main
  4. DPDK rte_mbuf
  5. OVS DPDK vs OVS Deep Dive(十六)
  6. OVS端口镜像(十四)
  7. 网络编程--connect()、listen()、accept()
  8. PM-Summit 2019全球产品经理大会北京站即将开幕!
  9. Docker、Kubernetes、Apache Mesos 之争 | 一个与传说不同的故事
  10. PHP的htmlspecialchars、strip_tags、addslashes解释