Web Worker 能否利用 100% 的多核 CPU
Can Web Workers utilize 100% of a multi-core CPU?
我一直在试图找出网络工作者分配处理器负载的能力。我还没有找到任何似乎能够将我的四核 2600k 提高到 50% 的演示,更不用说 100%。
这是我尝试最大化 CPU 的网络工作者演示:
http://nerget.com/rayjs-mt/rayjs.html
(如果您使用firebug/chrome-inspect-element进入页面的HTML并使画布更大,则可以将其光线跟踪设置为更大的图像 - 我将我的设置为1920 x 1080)
即使选择了 4、8、16 个工作线程,我也无法使每个内核的 CPU 利用率超过 25% 左右。
有谁知道您是否可以通过网络工作者利用 100% 的 CPU?
(我正在使用谷歌浏览器。
这在我的 100K 上使用 2500%:
var code = "while(true){}";
var URL = window.webkitURL || window.URL;
var bb = new Blob([code], {type : 'text/javascript'});
code = URL.createObjectURL(bb);
new Worker(code);
new Worker(code);
new Worker(code);
new Worker(code);
http://jsfiddle.net/MTJ27/81/
我使用新的blob构造函数重写了Esailija的答案。BlobBuilder 现在已经过时了,所以你必须改用 Blob(),请参阅此处了解 deets: http://updates.html5rocks.com/2012/06/Don-t-Build-Blobs-Construct-Them
window.URL = window.URL || window.webkitURL;
var blob = new Blob(["while(true){}"], {type: 'text/javascript'});
code = window.URL.createObjectURL(blob);
new Worker(code);
new Worker(code);
new Worker(code);
new Worker(code);
http://jsfiddle.net/MTJ27/15/
要找出您 PC 的 CPU 核心,请打开开发工具并键入navigator.hardwareConcurrency
,这将为您提供逻辑内核,然后您将使用内核的工人数量 == 内核,然后您将能够使用 100% 的 CPU例如,如果我有 16 个内核,那么我将创建 16 个 Web Worker
- 如何使用url加载程序在webpack中导入多个图像
- Web Worker 能否利用 100% 的多核 CPU
- 最好有一个大画布还是最多 100 个动态生成的小画布
- 截断段落的前100个字符并隐藏段落的其余内容,以显示/隐藏更多/更少链接的其余内容
- 如何在谷歌地图上创建多个标记 100+
- 如何无延迟地处理 100 多个移动矩形
- 验证多个克隆输入的总和 100%
- 将返回 5000 行的 AJAX 调用拆分为包含 100 行的多个 AJAX 调用
- 在页面加载时请求多达100个ajax请求是不是一种糟糕的做法
- 有没有一种方法可以在没有PHP的情况下简化100多个图像数组
- jQuery No Ui Slider,如何锁定多个互连的滑块以始终求和100
- 将数组拆分为100个Javascript的多个字符串
- 主干:是100多个视图ok
- 如何在Angular Js中调用100多个数据产品——需要一些动态数据驱动的解决方案
- 运行多个Node.js脚本是否自动分布在多个核心上?
- nodejs中的libuv线程如何利用多核cpu
- 在Node.js中存储100多个对象"global"变量
- 100多张图片的图片src-iOS应用程序大小问题
- 在地图上添加100多个标记,冻结整个页面
- 在 Asp.net 3.5 中跨回发保留 100 多个值的最佳方法