【问题标题】:How to create a more accurate estimate of runtime如何创建更准确的运行时间估计
【发布时间】:2023-03-12 00:50:01
【问题描述】:

在我的 R 程序中,我有一个主循环,可能需要相当长的时间才能完成。因此,我想创建一个警告对话框,提供比现在更准确的估计。目前在它调用的循环中

if (loopIteration == 1) {
    sampleTime1 <- sys.time();
}

if (loopIteration == 2) {
    sampleTime2 <- sys.time();
    timeEstimate <- loopLength*difftime(sampleTime2, sampleTime1);
    print(timeEstimate);
}

很遗憾,这个估计有 75% 的误差。我怎样才能使它更准确?

【问题讨论】:

  • 大概两个条件都是loopIteration == 1 是错字?

标签: r time resources


【解决方案1】:

您似乎正在使用另一个未命名包中的函数。基函数中的函数名称是system.time,它报告的第三个元素是表达式执行所用的时间:

> system.time({for(i in 1:1000000) {NULL} })[3]
elapsed 
    0.2 

【讨论】:

  • 我认为 DWin 正在谈论您正在使用的 sys.time 函数。不是 difftime 函数。有一个 Sys.time 函数。我的猜测是你的代码没有运行,但也许 Sys.time 中的第一个 s 不需要大写。
  • 好吧,base::Sys.time 中的“S”当然确实需要大写,如果我们谈论的是基本函数。那么我们到底在说什么?我们能否有一些实际运行的代码和一些结果来证明所指控的内容?
猜你喜欢
  • 2011-02-16
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多