已经大半年没有更新博客了。。最近都跑去写分析报告半年没有R
这次记录下关于R循环(百万级以上)死慢死慢的问题,这个问题去年就碰到过,当时也尝试过多线程,but failed......昨天试了下,终于跑通了,而且过程还挺顺利
step1
先查下自己电脑几核的,n核貌似应该选跑n个线程,线程不是越多越好,线程个数和任务运行时间是条开口向下的抛物线,最高点预计在电脑的核数上。detectCores( )检查当前电脑可用核数 我的是4所以step2选的是4
library(parallel)
cl.cores <- detectCores()
step 2
多线程计算
setwd("C:\\Users\\siyuanmao\\Documents\\imdada\\0-渠道投放和新人券联动模型\\测算")
options(scipen=3) ##取消科学计数法
channel_ad_ios_data<-seq(0,50000,5000)
channel_ad_android_data<-seq(0,100000,10000)
library(parallel)
func <- function(n){#n=1
result_data<-read.csv("发券方案.csv",stringsAsFactors=FALSE)
total_coupon_solution_data<-read.csv("结果表框架.csv",stringsAsFactors=FALSE)