[R] 使用R parabar 开启带进度条的异步并行后端

library(parabar)
 ## async 指定开启异步并行
  backend <- start_backend(cores = ncores, cluster_type = "psock", backend_type = "async") ##开启并行后端 ncores 指定使用的核心数
  export(backend, export.vars, environment()) ##  export.vars 导入各个后端的变量名
  evaluate(backend, {library(dplyr); library(terra); library(sf); NULL}) ## 需要引用的包
  configure_bar(type = "basic", style = 3) ## 配置进度条样式
 
  par_sapply(backend, x = 1:100, fun = function(i) {
    
  ## 输入计算过程

  })
  
  stop_backend(backend) ## 终止并行后端

可以将以上过程写入一个函数,方便调用。

比较:
foreach 包经过配置后也具备显示进度条的功能,且也是异步后端,但感觉不是很稳定。
pbapply 主打进度条,但是貌似无法异步并行,效率大打折扣。
parallel包中的parLapplyLB虽然可以开启负载均衡,但是难以添加进度条。

Ref: https://parabar.mihaiconstantin.com/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容