我正在尝试对它们运行许多线性回归和诊断并加快速度,我正在使用 R 编程语言中的doParallel包。
我遇到了一个有趣的问题。尽管我已经看到了性能的提升——正如预期的那样——CPU 的使用并不一致。
例如,如果我运行我的代码,所有内核的 CPU 利用率可能为30-40%。
如果我再次运行我的代码,CPU 利用率可能会上升到90%,而同时我没有进行任何更改。
在这两种情况下,我都不会同时运行其他任何东西。
有没有解释为什么核心一次使用 30%,另一次使用 90% 而我没有改变任何东西?
我正在运行 Windows XP、4GB 或 RAM,并且有一个 Inter(R) Xeon(R) CPU X5650 @ 3.67GHz。
我的代码看起来像:
results <- foreach(i=seq(1:regressions), .combine='rbind', .export=c('lmResults','lmCSig', 'lmCVar')) %dopar%
{model <- lm(as.formula(as.character(dat[i])), data=df) lmResults(model) }