代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C/C++
】
并行编程小例和高精度时间小例
作者:
天玺
/ 发布于
2016/4/6
/
724
/* purpose: 学习OpenMP并行编程 */ #include <windows.h> #include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> #include <omp.h> using namespace std; //时间计数器 class TimeCounter { public: TimeCounter(): _lastTime(0.0) { if(0 == _tickFreq) { LARGE_INTEGER qpf; QueryPerformanceFrequency(&qpf); //查询硬件最高计时器频率 _tickFreq = (__int64)(qpf.QuadPart); } } //时间计数,返回上次调用到本次调用的时间间隔(s), dTimeCurr-取得开机到本次调用用时(s) double counter(double *dTimeCurr = 0) { double _curr = 0.0, _dt = 0.0; LARGE_INTEGER qpf; QueryPerformanceCounter(&qpf); _curr = (double)qpf.QuadPart / _tickFreq; _dt = _curr - _lastTime; _lastTime = _curr; if(dTimeCurr) *dTimeCurr = _curr; return _dt; } private: static __int64 _tickFreq; //单位(HZ) double _lastTime, _currTime; }; __int64 TimeCounter::_tickFreq = 0; int main(int argc, char *argv[]) { TimeCounter tc; //取得计算机开机到现在的秒数 double sec; tc.counter(&sec); cout << "computer already run use time(s): " << (sec) << endl; //使用每个逻辑线程 输出下面这句话 #pragma omp parallel { cout << "Hello, OpenMP!\n"; } //注意需要在程序堆中动态分配,否则程序栈中分配不了如此大的内存 double *array1 = new double[1000000]; //单线程测试 tc.counter(); for(int i = 0; i < 1000000; i++) { array1[i] = sin(i); } cout << "use time(s): " << tc.counter() << endl; //多线程测试 tc.counter(); #pragma omp parallel for for(int i = 0; i < 1000000; i++) { array1[i] = sin(i); } cout << "use time(s): " << tc.counter() << endl; system("pause"); return 0; }
试试其它关键字
并行编程
同语言下
.
C分鱼问题
.
链表
.
最大连续和
.
编码字符串
.
libiconv字符编码处理及判断字符串是否为utf8
.
一组数中两两二元组,差最大有几对,差最小呢?(数组
.
通过管道获取一个进程的执行状态
.
多关键字排序
.
字符串字典序排序
.
3元一次方程(牛顿迭代法求方程的根)
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
天玺
贡献的其它代码
(
10
)
.
java获取客服端信息的方法(系统,浏览器等)
.
实现重复选择同一项,可以连续触发事件
.
Java生成验证码并进行验证
.
微信APP支付响应回调信息
.
判断一个字符串中是否包含另一个字符串数组或列表中的
.
纯html实现将网页页面分享到微信朋友圈添加缩略图图片
.
当前页面导航高亮
.
并行编程小例和高精度时间小例
.
通过存储过程动态操作表中的列
.
缓存函数
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3