ehi*_*ehi 14 r arithmetic-expressions
可以记录用于运行某些代码的时间system.time.这是一个小例子:
system.time(
mean(rnorm(10^6))
)
Run Code Online (Sandbox Code Playgroud)
但我不仅对时间感兴趣,而且对用于代码的算术运算(即+, - ,*,/)感兴趣.
在上面提到的情况下,为了得到均值,很容易计算求和和除法的数量,但是我想要应用它的代码要复杂得多.
因此,我的问题是:R中是否有一个函数来计算算术运算的数量?
Rol*_*and 25
您可以跟踪感兴趣的R函数:
counter <- 0
trace("+", at = 1, print = FALSE,
tracer = quote(.GlobalEnv$counter <- .GlobalEnv$counter + 1))
#Tracing function "+" in package "base"
#[1] "+"
Reduce("+", 1:10)
#[1] 55
counter
#[1] 9
untrace("+")
#Untracing function "+" in package "base"
Run Code Online (Sandbox Code Playgroud)
我不确定在这里计算R级别调用会有多大用处.许多(大多数?)函数在C或Fortran代码甚至BLAS中进行算术运算.我没有计算编译代码中的调用的解决方案.如果可能的话,你需要在编译期间设置它.
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |