Django Importr的预加载

Django Importr的预加载,django,rpy2,Django,Rpy2,有没有办法为rpy2与之对话的R实例预加载库?我将25-30%的响应时间(每个图表大约0.5秒)花在对lattice或grdevices的importr调用上,如果可能的话,我希望减少响应时间 代码段: grdevices = importr('grDevices') importr('lattice') imagefile = File(open('1d_%s.png' % str(uuid4()), 'w')) grdevices.png(file=imagefile.name, type

有没有办法为rpy2与之对话的R实例预加载库?我将25-30%的响应时间(每个图表大约0.5秒)花在对lattice或grdevices的importr调用上,如果可能的话,我希望减少响应时间

代码段:

grdevices = importr('grDevices')
importr('lattice')

imagefile = File(open('1d_%s.png' % str(uuid4()), 'w'))
grdevices.png(file=imagefile.name, type='cairo',width=400,height=350)

rcmd="""
print(
    xyplot(yvec~xvec,labels=labels,type=c('p','r'),
            ylab='%s',xlab='%s'
            )
)"""% (y_lab, x_lab)
robjects.r(rcmd)
grdevices.dev_off()

imagefile.close()

如果我不调用importr(“lattice”),robjects.r会在“xyplot(…”中出现异常我可以稍后调用。我可以使用R_PROFILE或R_ENVIRON_USER来加快lattice和grdevices调用的速度吗?

importr
是一个非常高级的函数,它以性能换取易用性。它除了加载一个R包外,还有很多功能。它还将该包中的所有R对象映射到Python(rpy2)如果不使用结果,则在脚本中执行
importr('lattice')
时,该工作将丢失

除此之外,在R中导入包本身也不是没有成本的(对于具有S4类定义的较大的R包,当脚本很短时,这一点很明显)。
rpy2
对此无能为力

可以使用R_PROFILE之类的R变量,但以前默认情况下没有启用。如何启用它是启用的SO()


现在,这里的
importr
只占用了25%的响应时间。专注于此的优化工作将无法使其速度提高25%以上(这是一个非常乐观的限制)。将数据插入字符串,然后将其作为R代码进行评估,这不是非常理想的(如中所警告的)考虑通过RPY2调用R函数,将数据作为导出缓冲区接口的任何数据传递(例如)。非常感谢。我将深入研究哪些性能优化是可用的。