You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python多进程调用R代码优化问询:性能与效率提升问题

问题与优化需求

背景说明

我曾尝试用Rcpp加速R中特定代码行,但首次尝试耗时过长,且看到Dirk在Stack Overflow的评论指出“通过C++运行R函数无法提速”,遂放弃该方案。

我编写了一个脚本,其中的run_everything函数可根据传入参数生成word2vec嵌入,再通过rpy2调用R代码完成统计计算,并使用R代码的输出结果。

现有代码结构

Python核心函数

def run_everything(*args): 
    
    # 生成词嵌入、计算余弦相似度并写入csv
    

    # 通过rpy2调用R函数,执行异常值识别计算并再次写入csv

    # 利用R函数的输出完成最终操作,写入另一个csv文件

并行调用脚本

from build_model_and_run_r_code import run_everything
from multiprocessing import Pool

# 定义传入进程池的参数 args_for_pool

if __name__ == '__main__':
    with Pool(8) as pool: 
        pool.starmap(run_everything, args_for_pool)

当前待优化问题

  • 电脑配备12核CPU,仅用8个进程,但运行时电脑仍明显卡顿;
  • 48组超参数组合需3小时完成(已比串行快一半),但希望进一步提升效率,其中R代码的计算耗时占比最大,关键耗时代码行如下:
    outly = compBagplot(dat_filt, "sprojdepth", options=list(maxiter = 500))
    

内容的提问来源于stack exchange,提问作者newbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:40:33