0

私はウェブアプリケーションを持っており、メインプログラムにいくつかの変数があります。これらの変数は、多くの文字列や配列を持つオブジェクトです。javascriptのメインスレッドとウェブワーカーから変数を共有するには?

しかしそれから4人のWebワーカーができます。しかし、その後、巨大なオブジェクトを各Webワーカーにメッセージとして送信します。これは基本的にオブジェクトを4回クローンします。

Webワーカーが親からオブジェクトにアクセスできるようにするために、新しいsharedarraybufferデータ型http://lucasfcosta.com/2017/04/30/JavaScript-From-Workers-to-Shared-Memory.htmlを使用したいので、メモリ効率が向上します。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

私はこれをどのように行うことができますか?この例では、必要なバイト数に基づいて初期化するように見えます。私はそれをどのように計算するのか分かりません。

誰でもこれを行う方法を知っていますか?

ありがとうございます。

答えて

0

あなたが記述したデータ構造に実際に使用することはできません。私は理論的にはを意味するgettersとsettersは、基礎となる共有バイト配列のバイトオフセットを参照することができますが、実際には複雑なプロジェクトになります。

共有メモリを使用する場合は、データ構造を再検討する必要があります。一定のサイズで、簡単にする必要があります。

プロファイラを使用してオブジェクトのどの部分が最大であるかを確認し、その部分を共有するだけで開始してみてください。

関連する問題