【发布时间】:2019-07-16 09:27:52
【问题描述】:
我编写了这个 R 包,它需要很长时间(> 10 秒,有时长达 20-30 秒!)才能加载。
每次包加载,比如在步骤"** testing if installed package can be loaded"构建包时,或者直接调用library("my.package"),20s内什么都没有发生。
这使得开发过程中的一切都变得非常缓慢:构建文档、构建包、运行 R 检查......
我当然有我的怀疑(看着你,狡猾的依赖),但我需要在取消之前收集证据。
有没有办法分析包的加载情况,以确定原因?或者更一般地说,我如何才能弄清楚幕后发生了什么?
【问题讨论】:
-
构建文档的缓慢步骤是加载 (
"Loading my.package...")。构建包时的缓慢步骤是“** testing if installed package can be loaded”。只需直接调用library("my.package")需要10-20 秒。确实是加载似乎很慢。 -
你有没有在加载(附加?)或在该步骤调用其他包时完成任何操作?
-
@NelsonGon 我不知道。我在
/R中的代码只定义了函数和一些小的硬编码向量。我在/data的.rda文件中也有一个小数据集。我很确定这来自在附加上执行操作的依赖项之一,但我有超过 30 个,所以反复试验会很烦人(它不仅仅是删除DESCRIPTION 中的包,而是编辑NAMESPACE 或删除@importFrom, ETC)。如果可能的话,我宁愿做个人资料,因为我现在可以忍受这个问题。 -
你不能在
loadNamespace()上使用profvis吗? -
也许可以在那些 30 个包上创建一个调用
library的 R 脚本并分析这个 R 脚本?