当前位置: 首页 > news >正文

珠海网站建设哪家公司好企业网络安全

珠海网站建设哪家公司好,企业网络安全,设计之路 网站,网络优化工程师吃香吗前言: 通常,如果进程运行时间超过3分钟,则会考虑使用并行处理。 这听起来可能很复杂,但是并行计算很简单。 当你有一个重复的任务,它占用了你太多宝贵的时间,为什么不使用并行计算来节省时间呢&#xff…

前言:

通常,如果进程运行时间超过3分钟,则会考虑使用并行处理。

这听起来可能很复杂,但是并行计算很简单。

  • 当你有一个重复的任务,它占用了你太多宝贵的时间,为什么不使用并行计算来节省时间呢?
  • 即使你有一个单一的任务,你也可以通过将任务分成更小的部分来从并行处理中受益。

两个广泛使用的并行处理包是parallel和foreach。 

1-并行计算准备阶段:

在R中使用并行计算的主要目的 提高运行速度,由于R是单核运行的程序,现在的计算机都是多核,如果只用一个核跑程序,让计算机的其他核空闲,势必是一种资源的浪费。

library(parallel)# 设置并行计算的核心数
num_cores <- detectCores()
cl <- makeCluster(num_cores)# 执行并行计算的任务
result <- parLapply(cl, data, your_function)# 关闭并行计算的集群
stopCluster(cl)

流程:设置并行计算的核数-->执行并行计算-->关闭并行计算的集群。

无论使使用哪种并行计算包,都是基于上述三个步骤,1-设置并行计算的核数;2 执行并行计算 3 关闭并行计算的集群。

2-各种方法对比

2.0生成数据:

# create test data
set.seed(1234)
df <- data.frame(matrix(data = rnorm(1e7),  ncol = 1000))
dim(df)

 目标:对这个矩阵每行求和。

2.1使用For循环

运行事件3.83mins

# for Example 1
times1 <- Sys.time()
results <- c()for (i in 1:dim(df)[1]) {results <- c(results, sum(df[i,]))
}times2 <- Sys.time()
print(times2 - times1) 
#2.77314 mins#for Example 2
times1 <- Sys.time()
results <- c()for (i in 1:dim(df)[1]) {results[i] <- sum(df[i,])
}times2 <- Sys.time()
print(times2 - times1) 
#2.404386 mins

2.2使用apply函数

当提到循环的时候,我们想到的是For、while循环和apply函数族,可以说apply函数族是代替循环的好方法。

#2
times1 <- Sys.time()
apply(df,1,sum)times2 <- Sys.time()
print(times2 - times1) 
#0.5269971 secs

 2.3使用baseR中自带的函数rowSums()

#3
times1 <- Sys.time()
rowSums(df)
times2 <- Sys.time()
print(times2 - times1)
#0.146533 secs 

2.4使用parallel包

这里用到了对数据进行分割,按照核数1:8进行分割,分割成8份,得到一个list列表对象。然后使用parLapply()函数进行计算。

#4 
# load R Package
library(parallel)
# check cores numbers
detectCores()
# set cores numbers
num_cores <- 8
# start times
times1 <- Sys.time()
# split data
chunks <- split(df, f = rep(1:num_cores, length.out = nrow(df)))
class(chunks) #list 列表
length(chunks)
# create parallel
cl <- makeCluster(num_cores)# computed in parallel
results <- parLapply(cl, chunks, function(chunk){apply(chunk, 1, sum)
})# Turn off the cluster for parallel computing
stopCluster(cl)# combine result
final_result <- unlist(results)times2 <- Sys.time()print(times2 - times1) 
#3.047416 secs

2.5使用foreach包

install.packages("foreach")
install.packages("doParallel")
library(foreach)
library(doParallel)
# 创建一个集群并注册
cl <- makeCluster(8)
registerDoParallel(cl)# 启动并行计算
time1 <- Sys.time()
x2 <- foreach(i = 1:dim(df)[1], .combine = c) %dopar% {sum(df[i,])
}
time2 <- Sys.time()
print(time2-time1)# 在计算结束后别忘记关闭集群
stopImplicitCluster()
stopCluster(cl)
# 53.63808 secs

参考:

Rtips 多核心并行计算

http://www.15wanjia.com/news/184577.html

相关文章:

  • 广州网络营销网站建设事件营销
  • 如何建立自己的免费网站温州在线课堂
  • 网站如何做外链教程视频erp系统的主要功能
  • 网站注册便宜学校网站管理与建设办法
  • 西安注册公司多少钱seo如何提升排名收录
  • 网站建设与管理代码题建专业外贸网站
  • 企业网站建设的原则包括制作网站需要多少费用
  • 株洲网站建设平台凤翔做网站
  • 怎么建淘宝优惠券网站做推广页面跳转的方式有哪些
  • 某企业网站建设论文徐州市专业做网站的公司
  • 自己做网站好还是凡科知名设计公司有哪些
  • 连云港网站建设哪家好滨江网站建设公司
  • 洛阳市住房和城乡建设局网站h5网页设计软件
  • 网站开发实用技术网站建设分项报价表
  • 惠州网站制作费用网站关键字收录
  • app网站建设 - 百度苏州公司注册费用
  • 做网站系统的过程珠海网站设计哪家好
  • 企业公司建设网站企业微网站怎么做
  • 免费的网站源码去哪下载邯郸媒体网络营销诚信合作
  • 用php做企业网站的可行性做国外网站汇款用途是什么
  • 游戏网站建设免费门户网站策划书
  • 网站策划的内容有那些外贸网站产品关键词
  • 导航网站网站提交怎么做北京海淀区房价
  • 佛山网站建设哪家专业网站icp备案网址
  • 网站接入变更网站支付页面怎么做
  • 如何彻底清除网站的网页木马注册网站不用手机短信验证的
  • 电子商务网站建设的方法及流程图广东省第二中医院官网进入公众号
  • 做h5场景的网站购买网站空间送域名
  • 网站开发方倍工作室杭州模板建站软件
  • 设计网络网站有哪些功能积分商城系统