R语言 t检讨多核并行运算
当前位置:以往代写 > 其他教程 >R语言 t检讨多核并行运算
2019-06-14

R语言 t检讨多核并行运算

R语言 t检讨多核并行运算

很是遗憾,这是一个失败的版本,因为从测试时间来看,多核计较所需要的时间远远多于单核计较的时间,需要不绝的优化。

library(multicore)

x<-matrix(floor(rnorm(210000,100,1000)),ncol=10)

mc.t.test<-function(data,mc.core=8)
{
k<-array(numeric())
tail<-length(data[,1])-floor(length(data[,1])/mc.core)*mc.core
for( i in 1:(floor(length(data[,1])/mc.core)+1))
{
p<-numeric()
end <- ifelse (i ==
floor(length(data[,1])/mc.core+1), tail, mc.core)
if( end != 0)
{
for ( j in 1:end)
{
id<-(i-1)*mc.core+j

if(length(data[id,])==10)

{

p[j+1]<-parallel(t.test(data[id,1:5],data[id,6:10])[3])$pid
}
}
tmp<-unlist(collect(p))

k[((i-1)*mc.core+1):(i*mc.core-mc.core+end)]<-tmp
a<-((i-1)*mc.core+1):(i*mc.core-mc.core+end)

}
}
return(k)
}

cat(“多核运行测试…\n”)
t<-system.time(km<-mc.t.test(x))
print(t)

sc.t.test<-function(data)
{
k<-array(numeric())
for(i in 1:length(data[,1]))
{

k[i]<-t.test(data[i,1:5],data[i,6:10])[3]
}
return(k)
}

cat(“单核运行测试…\n”)
t<-system.time(ks<-sc.t.test(x))
print(t)

    关键字:

在线提交作业