Веб-воркеры HTML 5 работают очень медленно при использовании worker.postMessage для большого объекта JSON. Я пытаюсь понять, как передать объект JSON веб-воркеру, используя типы «Переносимые объекты» в Chrome, чтобы увеличить скорость этого.
Вот что я имею в виду, и кажется, что это должно немного ускорить: http://updates.html5rocks.com/2011/12/Transferable-Objects-Lightning-Fast
У меня возникли проблемы с поиском хорошего примера этого (и я не верю, что хочу использовать ArrayBuffer). Любая помощь будет оценена по достоинству.
Я представляю что-то вроде этого:
worker = new Worker('workers.js');
var large_json = {};
for(var i = 0; i < 20000; ++i){
large_json[i] = i;
large_json["test" + i] = "string";
};
//How to make this call to use Transfer Objects? Takes approx 2 seconds to serialize this for me currently.
worker.webkitPostMessage(large_json);