処理速度がホントに約300倍になります。詐欺じゃありません。
Parallel.jsとは
Parallel.jsとはJavascriptで並列処理をできるようにしてくれるライブラリです。このライブラリはWeb WorkersというJavascriptで並列処理をする技術を裏で使っています。というかWeb Workersを使いやすくするライブラリのようなものです。ですのでブラウザ依存となっています。
300倍をだしたソース
したのコードを試しました。Parallelを使った方(並列)は平均1ミリ秒(平均というかすべて1ミリ秒だったので実際はさらに短い可能性が高いです)、Parallelなし(逐次)は平均298ミリ秒かかりました。
$(function(){ function paint(i){ $("#div"+i).html(i); } var divs=10000; function setup(){ $("body").html(""); var frag=document.createDocumentFragment(); for(var i=0;i<divs;i++){ $("<div>").attr("id","div"+i).appendTo(frag); } $("body").append(frag) } setup(); var start=new Date(); p=new Parallel(divs); p.spawn(function(d){ var res=[]; for(var i=0;i<d;i++){ res.push(i); } return res; }).then(paint); console.log((new Date)-start) setup(); var start=new Date(); for(var i=0;i<divs;i++){ paint(i); } console.log((new Date)-start) });
終わりに
クロスブラウザではありませんが、この300倍はとても魅力的ですよね。並列処理の方が早い、計算速度を上げたいといったときには試してみてはいかがですか?