setInterval 是否占用 CPU 资源?

2023-12-03

我在某处读到 setInterval 是 CPU 密集型的。我创建了一个使用 setInterval 的脚本并监视 CPU 使用情况,但没有注意到变化。我想知道是否有什么我错过的事情。

该代码的作用是每 100 毫秒检查 URL 中的哈希值(# 后的内容)是否发生更改,如果发生更改,则使用 AJAX 加载页面。如果它没有改变,则什么也不会发生。会不会有CPU问题。


我不认为setInterval本质上会导致严重的性能问题。我怀疑这种声誉可能来自较早的时代,当时 CPU 的功能还不够强大。

然而,有一些方法可以提高性能,而且这样做可能是明智的:

  1. 将函数传递给setInterval,而不是字符串。
  2. 设置尽可能少的间隔。
  3. 使间隔持续时间尽可能长。
  4. 让每次运行的代码尽可能短和简单。

不要过早优化——不要在没有问题的时候为自己制造困难。

但是,在您的特定情况下您可以做的一件事是使用onhashchange在支持事件的浏览器中,而不是超时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setInterval 是否占用 CPU 资源? 的相关文章

随机推荐