JavaScriptは基本的にシングルスレッドです。そのため、一つの処理に時間がかかっていると画面が固まってしまいます。しかしその壁を乗り越えられる技術があります。それがWebWorker APIです。 個人的に使いこなせていない技術なのですが、Parallel.jsを使えば実装が容易になるかもしれません。

Parallel.jsの使い方

使い方としては関数を渡して処理を実行します。

フィボナッチ数列を求める例です。複数の引数を渡して処理を行わせられます。

WebWorker APIをそのまま使っても良いのですが、map/reduceであったりrequreなどより効率的に開発するための機能が揃っています。マルチコアが当たり前の現在、Parallel.jsを使えばより高速なJavaScriptの処理が書けるようになるでしょう。

Parallel.jsはJavaScript製のオープンソース・ソフトウェア(BSD License)です。

Parallel.js: Parallel computing with Javascript parallel-js/parallel.js: Easy multi-core processing with javascript.