成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開 1000 個 Web Worker!我的頁面能起飛嗎?

開發 前端
從 1 開始加,發現總耗時確實越來越低了,但是當實例數量超過 16 個后,發現總耗時就沒有下降過了!!!

背景

最近看到一個很有趣的問題:頁面中 Web Worker 數量是不是越多越好?如果設置 1000個,那豈不是無敵了?

為此我們先準備一段代碼,這段代碼是計算一下從0累計到1億,需要花費多少時間。

圖片圖片

圖片圖片

可以發現需要耗費很久的時間,總共 43s,并且在這段時間內,主線程會被堵塞,后續的代碼都執行不了,所以一般這種耗時的操作可以放在 WebWorker 中去分擔主線程的工作。

使用 WebWorker

剛剛我們直接在主線程中去做累加的操作,是非常費時的,我們試試在 WebWorker 中去做,我們先準備一個 worker.js。

圖片圖片

并且在 index.js 中去引入并創建 WebWorker 實例,我們先來試試一個實例,耗時多少?

圖片圖片

可以發現時間大大縮短!!!只需要 4.9s!!!

圖片圖片

那既然這樣的話!!!是不是我們使用更多的 WebWorker 實例去分擔工作,耗時就越短呢?

于是我開始增加 WebWorker 實例的數量。

圖片圖片

從 1 開始加,發現總耗時確實越來越低了,但是當實例數量超過 16 個后,發現總耗時就沒有下降過了!!!

圖片圖片

原因其實很簡單,因為線程的并行需要依賴于CPU的核數。我查看了一下我電腦的核心數,我的電腦是 16 核的。

圖片圖片

也可以使用 navigator.hardwareConcurrency 這個 API 來看本電腦的核心數。

圖片圖片

總結

所以總結就是:WebWorker 是越多越好,但是也有上限,上限取決于你 CPU 的 核心數。

所以你如果想盡量多地使用 WebWorker 來分擔工作,可以將數量設置為你的電腦的 CPU 核心數。

圖片 圖片

責任編輯:武曉燕 來源: 前端之神
相關推薦

2023-08-15 14:00:20

Web云開發Rust

2021-08-28 10:06:29

VueJavascript應用

2024-08-08 08:50:21

標簽頁portTab

2021-04-09 08:51:32

Web WorkerJavaScript微前端

2023-07-31 11:16:45

Web前端worker服務

2023-10-20 07:29:16

框架模型Prompt

2015-03-23 10:26:10

2022-08-03 14:51:18

pandasPython

2010-07-22 19:20:13

云計算

2023-11-10 08:18:27

JavaGraalVM

2014-11-14 14:03:17

微軟安全漏洞bug

2018-06-05 09:13:47

2024-11-05 14:40:00

智能體AI

2019-08-02 17:48:16

戴爾

2021-02-22 11:12:24

ExcelPython數據

2023-12-28 10:01:05

ChatGPT技巧信息

2024-06-05 08:33:42

2022-01-05 16:16:02

查詢編程工程師

2023-12-28 08:01:59

2009-11-05 12:04:48

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天澡天天狠天天天做 | 欧美午夜精品久久久久久浪潮 | 亚洲综合一区二区三区 | aa级毛片毛片免费观看久 | 久久国产精品色av免费观看 | 男女视频在线免费观看 | 高清久久 | 成人黄色在线观看 | 亚洲精品二三区 | 亚洲一区播放 | www.亚洲视频.com | 成人免费视频 | 日本五月婷婷 | 欧美精品二区三区 | 国产中文字幕亚洲 | 正在播放国产精品 | 国产一区二区精品在线观看 | 欧美综合一区二区 | 国产四区| 亚洲精品一区二区 | 成人欧美一区二区三区1314 | 久久国产精品免费一区二区三区 | 青青久草 | 亚洲国产精品久久 | 亚洲国产视频一区二区 | 久久久网| 一区二区三区四区在线播放 | 成人精品国产免费网站 | 在线免费av电影 | 国产三级精品三级在线观看四季网 | 亚洲精品乱码久久久久久蜜桃 | 91在线视频在线观看 | 成人一区二区视频 | 久久综合影院 | 国产日产精品一区二区三区四区 | 久久一视频 | 在线观看国产视频 | 日韩中文在线视频 | 91久久伊人| 免费在线观看黄网站 | 日韩精品久久一区二区三区 |