r - 在主函数之外声明辅助函数是否更有效?
问题描述
当我逐步调试这种功能时:
foo <- function(x) {
helper <- function(x) x^2
2 * helper(x)
}
我看到每次都会评估辅助函数定义。在调试模式下是否相同?在时间执行方面是不是很糟糕?
解决方案
你可以自己试试。我没有看到太大的不同。当我尝试它时,内部或外部在不同的运行中更快。
library(microbenchmark)
foo1 <- function(x) {
helper <- function(x) x^2
2 * helper(x)
}
helper <- function(x) x^2
foo2 <- function(x) {
2 * helper(x)
}
microbenchmark(
inside = foo1(1:1000),
outside = foo2(1:1000),
times = 1000
)
推荐阅读
- java - 不要如何解决火花集群中GC中的问题,有人可以解释如何处理ParOldGen和PSYoungGen吗?
- windows - 如果 exe 和目标 dll 是 32 位,为什么我会在 LoadLibrary 中收到错误 193?
- android - Firebase:加载本地数据
- javascript - 将二维数组变成一棵树
- node.js - 没有firebase的Dialogflow nodejs实现
- deep-learning - 表示图像到类别映射所需的位
- npm - npm 重建错误:找不到 Python 可执行文件“python”
- db2 - 尝试将 HammerDB 连接到 Db2 for z/OS 时出现 SQL0199N 错误
- wpf - WPF - 在绑定触发期间 ImageSource 更改后图像失真
- c# - 如何使用 openfiledailog 将此代码更改为另一个代码