我在Ubuntu 14上使用R 3.0.2.我在代码中进行了一些繁重的计算,并尝试了"编译器"包
compilePKGS(enable=TRUE)
enableJIT(3)
Run Code Online (Sandbox Code Playgroud)
它似乎加快了我的代码.非常好!
但每次我的软件包启用"编译器"时,我都会收到很多笔记
Note: no visible binding for global variable '.Data'
Run Code Online (Sandbox Code Playgroud)
或类似于我自己的S4对象(代码中的"obj @ result"):
Note: no visible binding for global variable 'result'
Run Code Online (Sandbox Code Playgroud)
例如,它是自制S4对象的一部分.添加setCompilerOptions("suppressAll", TRUE)或setCompilerOptions("suppressUndefined", TRUE)没有帮助.当我完全停用编译器包时,根本不会弹出任何注释,所以这可能是我对compiler-package/jit的理解有问题?
我该怎么做来压制这些笔记?
编辑:
require(compiler)
compilePKGS(enable=TRUE)
enableJIT(3)
setClass(Class = "testobject",
slots = c( data = "numeric",
test = "character",
split = "numeric",
name = "character"
)
)
a <- new("testobject", data=c(1,2,3,4), test="TEST", split=5, name="NAME")
for(i in a@data){
print(i)
}
Run Code Online (Sandbox Code Playgroud)
简单的例子产生
Note: no visible binding for global variable '.Data'
Note: …Run Code Online (Sandbox Code Playgroud)