每次都以相同的持续时间执行代码

What gets in the way of code executing with the same duration every time?

本文关键字:持续时间 执行 代码      更新时间:2023-09-26

假设您想对不同JavaScript循环的性能进行基准测试,如下所示:http://jsperf.com/fastest-array-loops-in-javascript/11.或者您想用Unix time命令在命令行上对某些内容进行基准测试。

在计算机的深处,是什么阻止了代码每次以完全相同的持续时间执行?我所说的"持续时间"是指,为什么Node.js中的JavaScript while (i--)循环每次不需要1.3284ms?寻找晶体管和高级编程语言之间的联系(几个关键词或论文)。

由于时间分辨率的原因,测量一开始并不精确。例如,请参阅时代。

如果有很多进程在运行,您将获得与只有少数进程竞争CPU时间不同的挂钟时间。

缓存未命中、交换也会造成干扰,导致从一次运行到另一次运行的总时间不同。

如果从磁盘读取文件,文件块的分配也会影响读取或写入文件所花费的时间。