主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JavaScript: Workerを使ってみて

                
tags: JavaScript
 javaScriptのWorkerについて。基本的なことは、サンプルつきでよく書かれている記事を参考に。実際に使ってみてから思ったところを書いてみる。
http://www.html5rocks.com/ja/tutorials/workers/basics/

 Workerは負荷の高い処理などをサブスレッドに回して、表ではUIなどをいじっていられるようにするオブジェクトだ。これは画像処理に向いているなと思って、以前書いたJPEGの縮小とアップロードのスクリプトをWorkerで動くように書いてみた。スクリプトが複雑になり、とても公開する気になれないものになった。

 JPEGの縮小とアップロードスクリプトではDOMオブジェクトであるCanvasを使っていたために、まるまるWorkerのなかにつっこむことができず、既存のスクリプトの中身をいじりまわす必要があった。メインスレッドとWorkerの間を行き来しなければならず、スクリプトが入り組んだものになった。また行き来が同期でおこなわれるわけではないので、ループ処理を行う場合は、Workerが乱立しないようにコールバックを使って処理を回す必要があった。
 そういう条件をクリアするものを書いているうちに、スクリプトが複雑になって再利用価値がないものになっていった。元がDOMオブジェクトを使ったスクリプトでなければよかったのだが…… 

 コードもデモもないのが不服なので、モンテカルロ・シミュレータをWorkerを使って実行してみる。幾何学ではなく、確率を用いて円周率パイを求めようという試み。これをChromeで試してみると、最速ブラウザというのはあながちおごりではないなと思える。
monteWorker.html

            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。