网上有人说foreach包可以并行,我就去弄了,结果发现一个普通的二重循环什么事都不错都很卡!捣鼓了半天才发现是foreach的问题

为了提速,做了如下事宜:

  • 直接利用矩阵列加减,不是一个个遍历加
  • 把loop里面的函数调用去掉(开销很大)
  • 不使用foreach,使用原始的for
#计算trustl
R.trust_matrix <- matrix(rep(0,R.item_count*R.user_count),nrow=R.user_count, ncol=R.item_count); to_add = matrix(rep(1,R.user_count),nrow=R.user_count,ncol=1)
for(i in 1:R.user_count) {
for(j in 1:R.item_count) {
if(abs( R.init_matrix[i,j] - R.init_predict_matrix[i,j] < error_threshold)){
R.trust_matrix[,j] <- R.trust_matrix[,j] + to_add
R.trust_matrix[i,j] <- R.trust_matrix[i,j] - 1
}
}
print(i)
}

  这里记录了利用多核计算的一些包,有时间再琢磨:

http://cran.r-project.org/web/views/HighPerformanceComputing.html

这里有一个foreach的用法

http://cran.r-project.org/web/packages/foreach/vignettes/foreach.pdf

最新文章

  1. JSP基础学习
  2. Linux TOP 交互命令
  3. 使用imeOptions
  4. 吃豆子(Packman)
  5. iBatisSQL中prepend的问题
  6. ListView(2)最简单的上拉刷新,下拉刷新
  7. mysql distinct
  8. iOS之Storyboard References
  9. 简介Java反射基础
  10. javeWeb常用快捷键 Junit for changeableargs enumn reflect
  11. [笔记]RankSVM 和 IR SVM
  12. foreach_and_函数
  13. Ambari Auto Start(进程自动拉起)
  14. 【BZOJ2959】长跑(Link-Cut Tree,并查集)
  15. 云时代的.NET
  16. linux centos7下mysql安装--韩国庆
  17. 2018-05-09 5分钟入门CTS-尝鲜中文版TypeScript
  18. C#(.NET) HMAC SHA256实现
  19. 覆盖的面积 HDU - 1255 (扫描线, 面积交)
  20. selenium:chromedriver与chrome版本对应关系

热门文章

  1. 用redis实现动态时间段内统计排序
  2. nginx、mysql、php等各编译参数查询
  3. 如何查看一个Application是32位的还是64位的?
  4. dedecms时间格式调用标签汇总
  5. Collections工具类、Map集合、HashMap、Hashtable(十八)
  6. LoadRunner使用动态链接库技术
  7. skynet源码阅读&lt;6&gt;--线程调度
  8. 并不对劲的bzoj5475:loj2983:p5206:[wc2019]数树
  9. CKD 实现
  10. Linux终端那件事儿