我有一个像这样调用 jar 的 r 脚本:
system("java -cp myJar.jar com.myMainClass arg1 arg2", intern=TRUE)
我可以“看到”正在执行的 java 代码(cpu 跳转和磁盘写入),它会输出一个包含计算结果的文本文件。r 的下一行读取结果:
scores <- read.csv(results.csv, header=TRUE)
但是,在 java 代码写出文件和 r 读取文件并继续之间存在很大的差距,10-30 秒。结果文件很小,读取速度快如闪电。
我的问题有两个:可能是什么原因造成的,我可以做些什么来加快速度?在加快速度方面,我很好奇将数据传递给 java 程序并读回数据的其他方法,而不是将 java 耦合到 R。