当前位置: 首页 > 面试题库 >

js循环的数据量很大(例如100W+)时会出现什么情况?如何进行性能优化?

李意致
2023-03-14
本文向大家介绍js循环的数据量很大(例如100W+)时会出现什么情况?如何进行性能优化?相关面试题,主要包含被问及js循环的数据量很大(例如100W+)时会出现什么情况?如何进行性能优化?时的应答技巧和注意事项,需要的朋友参考一下

会发生什么:
循环执行时间可能过长,在循环过程中有可能阻塞(block)主线程,而当主线程被阻塞时,UI界面上用户的交互操作也就没响应了。导致用户体验的急剧恶化。

如何进行性能优化,想到两种方式:

  1. 使用chunks方式,将这种大任务切分为细粒度的小任务,保证每次循环占用CPU的时间不超过100ms。

  2. 可以将这种大数据量的计算任务放到web worker中。然后通过 postMessage 来传递计算结果。

 类似资料:
  • 本文向大家介绍什么情况下会出现js阻塞?相关面试题,主要包含被问及什么情况下会出现js阻塞?时的应答技巧和注意事项,需要的朋友参考一下 未在script 使用 async delay 属性且不是body的最后一个标签 ajax 使用了同步

  • 本文向大家介绍js如何性能优化?相关面试题,主要包含被问及js如何性能优化?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 减少HTTP请求 使用内容发布网络(CDN) 添加本地缓存 压缩资源文件 将CSS样式表放在顶部,把javascript放在底部(浏览器的运行机制决定) 避免使用CSS表达式 减少DNS查询 使用外部javascript和CSS 避免重定向 图片lazyLoad  

  • 我想为OpenComputers(minecraft mod)编写一个曼卡拉游戏,它使用Lua。然而,曼卡拉要求必须进入它中间的主循环(六个可供选择的壶),退出中间的循环(把你的最后一个石头放入空壶),从循环内部进入循环(把最后一个石头放入壶中,必须从那个壶中捡起所有的石头)。 我可以很容易地在两边做曼卡拉,用一个boolean值和一个if语句。 对于不熟悉曼卡拉的人,我有一个快速的流程图来解释我

  • 本文向大家介绍什么情况下会出现css阻塞?相关面试题,主要包含被问及什么情况下会出现css阻塞?时的应答技巧和注意事项,需要的朋友参考一下 css阻塞: 将html解析为dom tree 将css解析为cssom tree 将 domtree 与cssom tree 合并生成render tree 浏览器依照render tree开始布局 所以 css阻塞过程在于下载css资源以及解析生成csso

  • 目前遇到的一个场景,需要在事务的最后对一些数据的状态进行变更。 这些需要update的数据可能是1000条,也可能是1万条。 因为这张表的读写频率很高,如果在事务里执行一个update table set status = 1 where x(数据量1000-10000),那么会有几率出现死锁吗? 所以这就引出了一个问题,update的底层原理是啥?执行一句这样的update性能如何?