首页 > 解决方案 > 如何准确测量 JavaScript 中排序函数所花费的时间

问题描述

我正在尝试测量 JavaScript 中各种排序算法所花费的时间

我尝试了各种方法来衡量所花费的时间,但它总是给出错误的时间

var startTime, endTime, timeDiff;

startTime = new Date();
Bubble();
endTime = new Date();
timeDiff = endTime - startTime; //in ms

我也尝试过从endTime冒泡排序函数返回,但计算的时间仍然错误

冒泡排序功能

    function Bubble()
    {
        c_delay=0;
    
        for(var i=0;i<array_size-1;i++)
        {
            for(var j=0;j<array_size-i-1;j++)
            {
                div_update(divs[j],div_sizes[j],"yellow");//Color update
            
                if(div_sizes[j]>div_sizes[j+1])
                {
                    div_update(divs[j],div_sizes[j], "red");//Color update
                    div_update(divs[j+1],div_sizes[j+1], "red");//Color update
                
                    var temp=div_sizes[j];
                    div_sizes[j]=div_sizes[j+1];
                    div_sizes[j+1]=temp;
                
                    div_update(divs[j],div_sizes[j], "red");//Height update
                    div_update(divs[j+1],div_sizes[j+1], "red");//Height update
                }
                div_update(divs[j],div_sizes[j], "blue");//Color updat
            }
            div_update(divs[j],div_sizes[j], "green");//Color update
        }
        div_update(divs[0],div_sizes[0], "green");//Color update
        enable_buttons();
        return new Date();
    }

排序函数返回后计算时间:

        startTime = new Date();
        endTime = Bubble();
        timeDiff = endTime - startTime; //in ms

我什至尝试过,performance.now()但仍然没有得到排序功能所花费的准确时间

标签: javascriptdatetime

解决方案


推荐阅读