什么叫纯循环小数“并行循环”

5025人阅读
Parallel 并行循环
现在的电脑几乎都是多核的,但在软件中并还没有跟上这个节奏,大多数软件还是采用传统的方式,并没有很好的发挥多核的优势。
微软的并行运算平台(Microsoft’s Parallel Computing Platform (PCP))提供了这样一个工具,让软件开发人员可以有效的使用多核提供的性能。
Parallel.ForEach()和Parallel.For()就是微软并发类的成员。
今天做了一个简单的测试,我的电脑是双核的,效果还是比较明显的。
一般的for和foreach循环用时都在10秒钟;并发for循环在0.5秒,并发foreach在0.1秒钟。
但是并发循环不能滥用,在简单的少次数循环下,并发循环可能会体现不出其优势。
下面是简单的测试代码:
using System.Collections.G
using System.L
using System.T
using System.Threading.T
namespace parallelForeach
& & class Program
& & & & static void Main(string[] args)
& & & & & & DateTime startT
& & & & & & TimeSpan resultT
& & & & & & List&entityA& source = new List&entityA&();
& & & & & & for (int i = 0; i & 100; i++)
& & & & & & {
& & & & & & & & source.Add(new entityA
& & & & & & & & {
& & & & & & & & & & name = &悟空& + i,
& & & & & & & & & & sex = i % 2 == 0 ? &男& : &女&,
& & & & & & & & & & age = i
& & & & & & & & });
& & & & & & }
& & & & & & startTime = System.DateTime.N
& & & & & & loop1(source);
& & & & & & resultTime = System.DateTime.Now - startT
& & & & & & Console.WriteLine(&一般for循环耗时:& + resultTime);
& & & & & & startTime = System.DateTime.N
& & & & & & loop2(source);
& & & & & & resultTime = System.DateTime.Now - startT
& & & & & & Console.WriteLine(&一般foreach循环耗时:& + resultTime);
& & & & & & startTime = System.DateTime.N
& & & & & & loop3(source);
& & & & & & resultTime = System.DateTime.Now - startT
& & & & & & Console.WriteLine(&并行for循环耗时:& + resultTime.Milliseconds);
& & & & & & startTime = System.DateTime.N
& & & & & & loop4(source);
& & & & & & resultTime = System.DateTime.Now - startT
& & & & & & Console.WriteLine(&并行foreach循环耗时:& + resultTime.Milliseconds);
& & & & & & Console.ReadLine();
//普通的for循环
& & & & static void loop1(List&entityA& source)
& & & & & & int count = source.Count();
& & & & & & for (int i = 0; i & i++)
& & & & & & {
& & & & & & & & System.Threading.Thread.Sleep(100);
& & & & & & }
//普通的foreach循环
& & & & static void loop2(List&entityA& source)
& & & & & & foreach (entityA item in source)
& & & & & & {
& & & & & & & & System.Threading.Thread.Sleep(100);
& & & & & & }
//并行的for循环
& & & & static void loop3(List&entityA& source)
& & & & & & int count = source.Count();
& & & & & & Parallel.For(0, count, item =&
& & & & & & {
& & & & & & & & System.Threading.Thread.Sleep(100);
& & & & & & });
//并行的foreach循环
& & & & static void loop4(List&entityA& source)
& & & & & & Parallel.ForEach(source, item =&
& & & & & & {
& & & & & & & & System.Threading.Thread.Sleep(100);
& & & & & & });
//简单的实体
& & class entityA
& & & & public string name { }
& & & & public string sex { }
& & & & public int age { }
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:46450次
排名:千里之外
原创:42篇
评论:18条
(4)(1)(1)(2)(1)(11)(2)(5)(1)(2)(13)(4)(3)(1)Run-the-sample-event-structure 事件结构控制多个并行循环运行实例,可供学习和借鉴 LabView 238万源代码下载-
&文件名称: Run-the-sample-event-structure
& & & & &&]
&&所属分类:
&&开发工具: LabView
&&文件大小: 34 KB
&&上传时间:
&&下载次数: 5
&&提 供 者:
&详细说明:事件结构控制多个并行循环运行实例,可供学习和借鉴-Run the sample event structure
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Run the sample event structure.vi
&[]:一般,勉强可用
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - proteus
仿真 的设计有汇编语言的程序代码等
&[] - labview2012SP1实现开关量上升沿及下降沿功能
&[] - Labview事件结构的一个小程序,运用事件结构显示当前操作北京大学计算机科学技术研究所研究生导师简介-杨建武_ 副研究员
杨建武副研究员杨建武,男,1973年7月出生,博士,副研究员。2002年7月毕业于北京大学研究所,获博士学位。主讲课程:?课程名称:文本挖掘技术?教学对象:北京大学信息科学技术学院研究生研究方向?信息检索、文本挖掘、SGML/XML主要研究工作面向互联网内容安全的Web挖掘技术研究。获得信息产业部信息产业发展基金(“以智能信息分析处理为核心的数据挖掘软件平台”)、国家自然科学基金(“基于核矩阵学习的半结构化文本挖掘研究”)以及方正集团的课题资助。主持研发的“方正智思”信息检索与智能分析产品已被广泛应用于国务院办、中宣部等国家重要部门的互联网舆情分析预警系统等大型项目之中。主要科研成果、专利、奖励:?《ASemi-StructuredDocumentModelForTextMining》科学技术学报(JCST英文刊)2002.9?《半结构化数据相似搜索的索引技术研究》学报2002.11?《基于规范划分集的并行循环计算划分》软件学报2003.3?《基于核矩阵学习的XML文档相似度量方法》软件学报2006.5?IntegratingElementKernelandTermSemanticsforSimilarity-BasedXMLDocumentClusteringWI'05?UsingProportionalTransportationSimilaritywithlearnedelementsemanticsforXMLdocumentclustering.WWW2006?Manifold-rankingbasedtopic-focusedmulti-documentsummarization.IJCAI’07?SingleDocumentSummarizationwithDocumentExpansion.AAAI2007?Towardsaniterativereinforcementapproachforsimultaneousdocumentsummarizationandkeywordextraction.ACL2007?CollabSum:ExploitingMultipleDocumentClusteringforCollaborativeSingleDocumentSummarizations.SIGIR2007?LearninginformationdiffusionprocessontheWeb.WWW’07申请专利10多项,其中2项已获授权:?一种对半结构化文档集进行文本挖掘的方法专利,2004.8?一种基于快速排序算法的快速分页排序方法专利,2006.10奖励:?2004年度北京大学优秀博士论文
&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
OpenMP 并行编程
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 什么叫纯循环小数 的文章

 

随机推荐