Подтвердить что ты не робот

Могут ли веб-работники использовать 100% многоядерного процессора?

Я пытаюсь выяснить, насколько способны веб-работники распределять нагрузку на процессор. Мне еще предстоит найти демо-версии, которые, похоже, смогут получить мой четырехъядерный процессор 2600k даже до 50%, не говоря уже о 100%.

Здесь демонстратор веб-рабочего, который я пробовал максимально увеличить свой процессор:

http://nerget.com/rayjs-mt/rayjs.html

(Если вы перейдете на страницу HTML с элементом firebug/chrome-inspect и сделаете холст более крупным, вы можете сделать его более ярким - я установил мой размер до 1920 x 1080)

Даже если выбрано 4, 8, 16 рабочих мест, я не могу получить загрузку процессора выше 25% на ядро.

Кто-нибудь знает, можете ли вы использовать 100% процессора через веб-работников?

(Я использую Google Chrome.)

4b9b3361

Ответ 1

Это использует 100% на моем 2500K:

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/

Ответ 2

Я переписал Esailija, используя новый конструктор blob. 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/