Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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 regexp性能和缓存_Javascript_Regex_Node.js_Performance - Fatal编程技术网

Javascript regexp性能和缓存

Javascript regexp性能和缓存,javascript,regex,node.js,performance,Javascript,Regex,Node.js,Performance,我一直在寻找这个问题的答案,我在以下回答之间做了一些性能测试: console.time("first_test"); for( i=0;i<10000;i++) result=function1(str); console.log(result); console.timeEnd("first_test"); console.time("second_test"); for( i=0;i<10000;i++) result=function2(str); con

我一直在寻找这个问题的答案,我在以下回答之间做了一些性能测试:

console.time("first_test");
for( i=0;i<10000;i++)
    result=function1(str);
console.log(result);
console.timeEnd("first_test");


console.time("second_test");
for( i=0;i<10000;i++)
    result=function2(str);
console.log(result);
console.timeEnd("second_test");

this gives: 
first_test: 232ms
second_test: 21ms

And if I reverse the order of the tests: 
second_test: 128ms
first_test: 102ms
javascript是同步的。您应该编写asyn代码以查看实际结果 我试着给出相同的函数,在不同的循环中运行两次,对于相同的函数,我得到了不同的控制台时间。大多数情况下,第一次测试运行总是需要更长的时间。但当你添加第三个循环时,有时第二个循环速度更快,通常第三个循环速度最快。这一定与浏览器的功能有关

function test(){
        console.time("second_test");
        for( i=0;i<10000;i++)
            result=function2("str");
        console.log(result);
        console.timeEnd("second_test");


        function test2() {
            console.time("first_test");
            for (i = 0; i < 10000; i++)
                result = function2("str");
            console.log(result);
            console.timeEnd("first_test");
        }
        return test2()
    }


    test();
功能测试(){
控制台时间(“第二次_测试”);

对于(i=0;iso,
function1
function2
在哪里?!我添加了没有任何更改的函数。为什么应该添加?
function test(){
        console.time("second_test");
        for( i=0;i<10000;i++)
            result=function2("str");
        console.log(result);
        console.timeEnd("second_test");


        function test2() {
            console.time("first_test");
            for (i = 0; i < 10000; i++)
                result = function2("str");
            console.log(result);
            console.timeEnd("first_test");
        }
        return test2()
    }


    test();