gpt4 book ai didi

r - 是否可以计算 R 中的算术运算次数?

转载 作者:行者123 更新时间:2023-12-03 21:22:06 25 4
gpt4 key购买 nike

可以使用 system.time 记录用于运行某些代码的时间。 .这是一个小例子:

system.time(
mean(rnorm(10^6))
)

但我不仅对时间感兴趣,而且对用于代码的算术运算(即 +、-、*、/)的数量感兴趣。

在上述情况下,很容易计算求和和除法的次数以获得平均值,但我想将其应用于的代码要复杂得多。

因此,我的问题是:R 中有没有计算算术运算次数的函数?

最佳答案

您可以跟踪感兴趣的 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"

我不确定在这里计算 R 级调用有多大用处。许多(大多数?)函数使用 C 或 Fortran 代码甚至 BLAS 进行算术运算。而且我没有计算编译代码中调用的解决方案。如果可能的话,您需要在编译期间进行设置。

关于r - 是否可以计算 R 中的算术运算次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com