Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/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 为什么const比var慢?_Javascript_Performance_Constants_Var_Variable Declaration - Fatal编程技术网

Javascript 为什么const比var慢?

Javascript 为什么const比var慢?,javascript,performance,constants,var,variable-declaration,Javascript,Performance,Constants,Var,Variable Declaration,我正在测试Javascript中const和var之间的性能差异,这时我注意到const比var慢 我为timeconst和var编写了一个脚本,并对它们进行了比较。它测试const是否快1000倍const的速度只有13%左右 函数执行时间(code){ var t0=performance.now() 代码() var t1=performance.now() 返回t1-t0 } 功能测试(){ var results=[0,0]//一,二-哪一个更快? 对于(变量i=0;i两个){ 结果

我正在测试Javascript中
const
var
之间的性能差异,这时我注意到
const
var

我为time
const
var
编写了一个脚本,并对它们进行了比较。它测试
const
是否快1000倍
const
的速度只有13%左右

函数执行时间(code){
var t0=performance.now()
代码()
var t1=performance.now()
返回t1-t0
}
功能测试(){
var results=[0,0]//一,二-哪一个更快?
对于(变量i=0;i<999;i++){
var one=执行时间(函数(){
常数x='x'
})
var two=执行时间(函数(){
变量x='x'
})
如果(一个>两个){
结果[0]++
}否则{
结果[1]++
}
}
return((results[0]console.log(test())
一旦我运行了一些测试,正如评论中所建议的,我意识到性能可能会有所不同,并且我的计时方法有缺陷

JSBench:


因此,
const
var

之间没有实时差异,可以考虑使用在线微基准工具(甚至是图书馆和在线小提琴)。1) 更容易共享/可比较2)减少微基准偏差。这里的计时方法看起来是有缺陷的,没有其他的考虑。我在这里运行了几个测试,结果不同,总是小于0.5%,所以看起来没有什么真正的区别。在那里建立一个链接到不同的代码,这样我(和其他人)就可以运行它-任何性能差异都是实现的产物。当我运行一个基准测试时,const的速度“更快”(SafariIOS);100对99.8/9。然而,有了如此小的时间主体和其他开销,我不会对结果施加太大的压力。我希望您的两个代码都得到了优化,因为它们什么都不做。此外,1000次运行对于预热优化编译器来说太少了。