我在学习R时写了一个包,它的依赖列表很长.我试图削减它,因为两种情况:
是否有自动跟踪这两种情况的方法?我可以想到两个粗略的方法(下载所有依赖包中的函数列表,并通过我的包的代码自动进行文本搜索,或者加载包函数而不加载所需的包并执行直到出现错误),但是都没有看起来特别优雅或万无一失......
R 文档将ByteCompile“描述文件”部分中的字段描述为:
'ByteCompile' 逻辑字段控制是否要在安装时对包代码进行字节编译:默认值当前不是,因此这对于已知特别受益于字节编译的包可能很有用(这可能需要很长时间时间并增加安装包的大小)
我推断字节编译的唯一有害副作用是 (a) 安装时间和 (b) 安装大小。我还没有发现在安装/字节编译过程中花费太长时间的包,并且普遍的共识是 GB 很便宜(用于存储)。
问:我什么时候应该选择不对我编写的包进行字节编译?(是否有人有轶事或经验限制,他们会选择反对它?)
编辑:如旧问题的评论中所述,字节编译代码无法进行调试的基本原理已被揭穿。关于 SO 的其他相关问题已经讨论了如何做到这一点(手动R CMD INSTALL --byte-compile ...或使用install.packages(..., type="source", INSTALL_opts="--byte-compile")),但没有讨论这样做的后果或反对这样做的论据。