javascript - 如何准确测量 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()
但仍然没有得到排序功能所花费的准确时间
解决方案
推荐阅读
- flutter - 颤动:将屏幕旋转到新屏幕而不是以前的屏幕
- psql - 从 PSQL 中的文件运行 sql 脚本并将输出保存到文件
- javascript - 如何设置默认高度 - 高度不起作用 inline='true'
- sql - SSIS - Oracle OLE DB 源中的多个语句
- android - Room Coroutine 在主线程中执行
- java - 如何通过传入参数来获取查询中函数的值
- javascript - v-if 中子数组的数据
- kql - Kusto 设置查询的变量输出
- php - PHP If/Else 语句未命中所有情况
- java - Leetcode 消除障碍的网格中的最短路径