标签: timing

检查数据框是否为空的最快方法

检查 a 是否为data.frame空的最快(每微秒都很重要)的方法是什么?我在以下情况下需要它:

if (<df is not empty>) { do something here }
Run Code Online (Sandbox Code Playgroud)

可能的解决方案:

1)if(is.empty(df$V1) == FALSE来自 `spatstat' 包

2) if(nrow(df) != 0)

3) 您的解决方案

我可以做:

library(microbenchmark)
microbenchmark(is.empty(df),times=100)
Unit: microseconds
         expr min  lq mean median  uq max neval
 is.empty(df) 5.8 5.8  6.9      6 6.2  66   100 
Run Code Online (Sandbox Code Playgroud)

但不知道如何计时2)。空 df 的解决方案是什么?

谢谢!

r timing dataframe

2
推荐指数
1
解决办法
2万
查看次数

jquery幻灯片和时间

嘿那里,我有一个div在页面加载时扩展,现在我需要它在30秒后崩溃,有没有人知道如何在查询中做到这一点?

$(function(){
    $("#banner").slideDown(); 
    });
Run Code Online (Sandbox Code Playgroud)

html jquery timing slide

1
推荐指数
1
解决办法
1452
查看次数

C#System.Diagnostics.Process:如果超过10秒,如何退出进程?

我尝试了以下代码:

p = StartProcess("some_process.exe");
DateTime startTime = DateTime.Now;
p.Start();
while (!p.HasExited)
{
    executeTime = (DateTime.Now - startTime).Milliseconds;

    if (executeTime > 10000) // 10 seconds
    {
       Console.Write("Test \"" + inputTest + "\" failed: takes more than 10 seconds");
       break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有可能吗?

c# process timing

1
推荐指数
1
解决办法
2182
查看次数

每纳秒调用一个函数?

根据计算机硬件或电子的物理限制,不确定这是否可行,但是在任何编程语言中是否存在每纳秒调用一个函数的实用方法?有什么限制?

例如在javascript尝试这不会超出预期:

<html>
<head>
<script type="text/javascript">

var numb = 1;

function addNum(){

numb=numb+1;
document.getElementById('thing').innerHTML = numb;

}
</script>

</head>

// try to do addNum every nanosecond
<body onload='setInterval("addNum()", 0.000001)'>

<div id="thing"></div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

programming-languages timing milliseconds

1
推荐指数
1
解决办法
348
查看次数

处理完成后的CPU时间

Linux中是否有一个函数可以让我看到进程完成后进程使用了​​多少CPU?我需要类似于bash"time"命令的东西.我是fork()进程,然后等待使用wait()让孩子完成.准确测量"实际"时间(fork()和exit()之间经过的实际时间)的方法,即使在子进程变成僵尸后很长时间调用wait()也是受欢迎的,但我不确定它是否是可能.

linux posix timing cpu-usage

1
推荐指数
1
解决办法
1724
查看次数

发布NSTimer iPhone?

我在我的.h中声明了NSTimer,在/ m的viewDidLoad中我有代码:

timer = [NSTimer scheduledTimerWithTimeInterval:kComplexTimer target:self selector:@selector (main) userInfo:nil repeats:YES];
Run Code Online (Sandbox Code Playgroud)

我也有[计时器发布]; 在我的dealloc.

然而,当我退出视图并返回它时,计时器实际上没有释放,它的速度加倍!我如何解决这个问题以及我做错了什么?

谢谢

iphone sdk timing nstimer ios

1
推荐指数
1
解决办法
791
查看次数

如何确定第一个字节的时间?

我最近一直在阅读很多关于性能的文章,并且有一些工具可以帮助您提高网页的速度.但我找不到任何可以告诉我网页第一个字节的时间是什么的工具.任何提示?

performance firebug timing pagespeed

1
推荐指数
1
解决办法
7789
查看次数

如何在MATLAB中精确分析/基准算法?

该算法一次又一次地重复相同的事情.我希望在每次试验中得到相同的时间,但我在四次相同的试验中得到了非常意想不到的时间

在此输入图像描述

我预计曲线是相同的,但它们的行为完全不同.原因可能在于tic/toc精度.

  • 我应该在Matlab中使用什么样的分析/计时工具?
  • 我在下面的代码中做错了什么?tic/toc剖析的可靠性如何?
  • 无论如何要保证一致的结果?

算法

A=[];
for ii=1:25
    tic;
    timerval=tic;
    AlgoCalculatesTheSameThing();    
    tElapsed=toc(timerval);
    A=[A,tElapsed];   
end
Run Code Online (Sandbox Code Playgroud)

algorithm matlab profiling timing

1
推荐指数
1
解决办法
505
查看次数

javascript调用函数10次,1秒之间

如何调用函数10次就好

for(x=0; x<10; x++) callfunction();
Run Code Online (Sandbox Code Playgroud)

但每次通话之间有1秒钟?

javascript timing function-call

1
推荐指数
3
解决办法
1万
查看次数

犰狳与Eigen3时间差异

我希望这个讨论可以帮助其他任何与Armadillo和Eigen3有关的人.

我编写了一个包装类Mat,它包含来自armadillo库的arma :: Mat或来自Eigen3库的Eigen :: Matrix.这在编译时用标志控制.

另外,我写了一个使用Mat作为存储的Tensor类.此类的主要特征是使用Voigt表示法来压缩高阶张量,以便正确存储在矩阵中.

最后,我编写了一个多次乘以二阶张量(即矩阵)和一阶张量(即矢量)的测试,并记录完成运算符所需的时间.我用Mat类和Tensor类来做这个.

因为Tensor包裹Mat,我希望它的时间更长.犰狳就是这种情况,平均接近20%.然而,当使用Eigen时,使用Tensor更快,这对我来说绝对没有意义.

有什么事情适合任何人吗?

编辑:提供更多细节.

我首先将arma :: Mat包装成myOwn :: armaMat,将Eigen :: Matrix包装到myOwn :: eigenMat中.这两个都只是将armadillo和Eigen的API包装到一个通用框架中.最后,基于编译器标志,myOwn :: Mat包装了一个armaMat或一个eigenMat.我不确定我们打开的任何优化标志.

如上所述,myOwn :: Tensor使用myOwn :: Mat作为存储.由于我将使用Tensor类的物理应用程序,它被模板化为2D(即如果是2阶的2乘2)或3D(即3乘3).(相比之下,垫可以是任何尺寸).

我用于定时目的的运算符是:2乘2矩阵(二阶张量)乘以2乘1矩阵(一阶张量).当只使用Mat时,我基本上使用的是犰狳或Eigen的表达式模板.

使用我的Tensor类时,我正在重载operator*:

template< typename T1, bool Sym >
moris::Mat< T1 >
operator*(
        moris::Tensor< T1, 2, 2, true > const & aTensor1,
        moris::Tensor< T1, 1, 2, Sym >  const & aTensor2 )
{

    moris::Mat< T1 > tVector(2, 1);

    tVector(0) = aTensor1[0]*aTensor2[0] + aTensor1[2]*aTensor2[1];
    tVector(1) = aTensor1[2]*aTensor2[0] + aTensor1[1]*aTensor2[1];

    return tVector;
}
Run Code Online (Sandbox Code Playgroud)

Tensor上的[]运算符从底层存储Mat访问数据(通过Voigt约定).

timing matrix-multiplication armadillo eigen3

1
推荐指数
1
解决办法
1601
查看次数