R 优化apply()
我想优化以下代码。目前,它在2Ghz双核机器上运行约0.085秒,带有2MB二级缓存,M是2404 x 100的数字矩阵:R 优化apply(),r,apply,R,Apply,我想优化以下代码。目前,它在2Ghz双核机器上运行约0.085秒,带有2MB二级缓存,M是2404 x 100的数字矩阵: Rescale <- function( M = utility.mat){ exp.M <- exp(M) result <- apply(exp.M, 1, function(x) x/sum(x)) result <- t(result) return (result) } Rescale这在我的机器上似乎快了大约6倍: R
Rescale <- function( M = utility.mat){
exp.M <- exp(M)
result <- apply(exp.M, 1, function(x) x/sum(x))
result <- t(result)
return (result)
}
Rescale这在我的机器上似乎快了大约6倍:
Rescale1 <- function(M){
M <- exp(M)
result <- M / rowSums(M)
return (result)
}
重新缩放1谢谢。这给了我0.28秒的时间。只有在调用行和
的开销较大时,调用.Internal
(一般不建议!)才有帮助。既然你只叫它一次,那就没意义了。在R2.15中,现在有了.rowSums
,它的黑客性要小得多。但在这里仍然没有帮助。