为了性能更好,两个函数在同一个 setInterval() 或两个不同的 setInterval 中? - Javascript
For the performance is better two functions in the same setInterval() or two different setInterval ? - Javascript
对于相同 setInterval()
中的两个函数或不同 setInterval() 中的每个函数的性能更好?
一个
setInterval(function(){
one();
two();
}, 60000);
function one(){
//code
}
function two(){
//code
}
B
setInterval(function(){
one();
}, 60000);
setInterval(function(){
two();
}, 60000);
function one(){
//code
}
function two(){
//code
}
你有什么建议?
非常感谢...
For the performance is better two functions in the same setInterval() or each function in different setInterval() ?
关于性能的观点很少。
从这两个函数的性能来看,只调用一次setInterval()
更快,调用函数one()
然后two()
来自匿名函数的上下文,而不是来自计时事件上下文。还值得一提的是,这两个函数可能 inlined/merged 与 JS 编译器或 JS JIT 一起使用。
从用户体验的角度来看,最好将长函数拆分为两个,以便在这些函数之间处理用户界面事件。换句话说:
- 处理用户事件(例如,鼠标点击)。
- 调用长函数
one()
.
- 再次处理用户事件。
- 调用长函数
two()
.
- 处理用户事件。
在用户体验方面将比:
好得多
- 处理用户事件。
- 调用巨大的组合函数
one()
和 two()
,浏览器挂起一段时间。
- 处理用户事件。
还有最后一点。从程序的整体性能来看,完全没有关系,因为这些调用之间的间隔很长,所以对整体性能没有任何影响。
对于相同 setInterval()
中的两个函数或不同 setInterval() 中的每个函数的性能更好?
一个
setInterval(function(){
one();
two();
}, 60000);
function one(){
//code
}
function two(){
//code
}
B
setInterval(function(){
one();
}, 60000);
setInterval(function(){
two();
}, 60000);
function one(){
//code
}
function two(){
//code
}
你有什么建议? 非常感谢...
For the performance is better two functions in the same setInterval() or each function in different setInterval() ?
关于性能的观点很少。
从这两个函数的性能来看,只调用一次setInterval()
更快,调用函数one()
然后two()
来自匿名函数的上下文,而不是来自计时事件上下文。还值得一提的是,这两个函数可能 inlined/merged 与 JS 编译器或 JS JIT 一起使用。
从用户体验的角度来看,最好将长函数拆分为两个,以便在这些函数之间处理用户界面事件。换句话说:
- 处理用户事件(例如,鼠标点击)。
- 调用长函数
one()
. - 再次处理用户事件。
- 调用长函数
two()
. - 处理用户事件。
在用户体验方面将比:
好得多- 处理用户事件。
- 调用巨大的组合函数
one()
和two()
,浏览器挂起一段时间。 - 处理用户事件。
还有最后一点。从程序的整体性能来看,完全没有关系,因为这些调用之间的间隔很长,所以对整体性能没有任何影响。