2016年11月2日水曜日

WebWorkerで作成したサブスレッドよりメインスレッドは37%ぐらい速い

WebWorkerを使うとJavaScriptでもマルチスレッド処理が可能になります。
ただしメインスレッド以外はHTMLエレメントにアクセス出来ないとかActiveXObjectは使えないとか色々制約があります。
制約があってできることが少ないというのは、逆に言えば「シンプルな状態」であり、もしかして、制約がある代わりに処理が高速だったりするのでは!?と思って先日比較テストしましたが、もう少し分かり易いデータが取得できました。




テスト用ソース


実行結果



Max、Min、Averageのすべてで、workよりもmainの方が37%程度高い数字になっています。
つまりWebWorkerで作成したスレッドは様々な制約がある上にちょっと遅いということです。。
まぁ、それでも無いよりはマシですが。。

ちなみに実行したPCのCPUはi5-4590です。

0 件のコメント:

コメントを投稿