var num = 10000; console.time(‘one’) for(var i=0 ;i<num;i++) { var result1 = {} result1.one = “Math.random()”; result1.two = “Math.random()”; result1.three = “Math.random()”; } console.timeEnd(‘one’)
console.time(‘two’) for(var i=0 ;i<num;i++) { var result2 = {one:“Math.random()”,two:“Math.random()”,three:“Math.random()”} } console.timeEnd(‘two’)
console.time(‘three’) for(var i=0 ;i<num;i++) { var result3 = {one:“Math.random()”,two:“Math.random()”} result3.three = “Math.random()”; } console.timeEnd(‘three’)
为什么一开始num =10000这种不算大的时候,他们的时间其实看起相差挺大的,但是当num变成1亿的时候它们的运行时间几乎一样的了,不是应该时间差越来越大吗?
图片位置有问题。。右边是num = 1000时候的执行时间 下面是num = 1亿的执行时间。
自顶一下问题
这是我电脑上num=100000000时的结果,差别还是挺大的
这个操作似乎在不同V8版本间速度是有差距的 我这里V8 6.6(node 10.0.0) num=100000000 这种性能问题一般不在需要考虑的范围内