Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
衡量JavaScript性能_Javascript_Performance - Fatal编程技术网

衡量JavaScript性能

衡量JavaScript性能,javascript,performance,Javascript,Performance,我有一个JavaScript文件,它接受一个输入,用它进行一些计算,然后返回一个结果。现在,我想测量它的性能,例如检查运行1000个输入需要多少时间。问题是我几乎不了解Javascript(代码也不是我的),所以我不知道如何做到这一点。StackOverflow我发现了一些类似的问题,但问题是“脚本运行一次需要多少时间”,而不是“脚本需要多少时间来细化1000个输入” 如果有帮助的话,是脚本。我会这样做(取决于窗口控制台是否存在以及是否具有time属性): if('console'在窗口中&'t

我有一个JavaScript文件,它接受一个输入,用它进行一些计算,然后返回一个结果。现在,我想测量它的性能,例如检查运行1000个输入需要多少时间。问题是我几乎不了解Javascript(代码也不是我的),所以我不知道如何做到这一点。StackOverflow我发现了一些类似的问题,但问题是“脚本运行一次需要多少时间”,而不是“脚本需要多少时间来细化1000个输入”


如果有帮助的话,是脚本。

我会这样做(取决于窗口控制台是否存在以及是否具有time属性):

if('console'在窗口中&'time'在window.console中){
控制台。时间(“时间”);

对于(var k=0;k如果你想测量和分析这个脚本,你只需要增加你的javascript知识(至少一点)

然后,您可以使用一个基准测试工具,如。您可以在浏览器或node.js中使用它


jsperf.com使用benchmark.js。您可以在那里设置一个测试用例,该测试用例应该在几分钟内完成。它通常设计用于比较两个脚本,但您可以将脚本放入两个测试中,然后您就有了第一个指示

尝试使用。它将允许您包括您需要的任何脚本,并设置一个测试用例,然后您可以看到pe是如何运行的R性能是,并与同一代码的其他变体等进行比较。这与我需要的不完全一样(检查单个运行的运行时),但很容易修复。将进行编辑以匹配请求。@Giuliomusarello,您想做什么?单独测量每个运行?在这种情况下,将代码放入循环中。我没有注意到for循环是隐式的,所以添加了它。
if('console' in window && 'time' in window.console){

    console.time('time');
    for (var k=0;k<1000;k++) {
        derp(input);
    }
    console.timeEnd('time');

} else {

    var d = new Date();
    for (var k=0;k<1000;k++) {
        derp(input);
    }
    console.log('result: ' + new Date().getTime() - d.getTime() + 'ms');

}