2

最近、CoderWall https://coderwall.com/p/rkls8gで:

Webワーカーを利用する

LocalStorageやXMLHttpRequestの使用などの同期処理を行う場合は、ワーカーを使用して非ブロッキング方式でジョブを実行する方がはるかに優れています...

本当に必要ですか?AJAXの場合、すでに非同期であるため、WebWorkersを使用するためのオーバーヘッドを増やす必要はないようです。

LocalStorageの場合、引数は次のとおりです。

LocalStorageのAPIはすべてのデータをファイルシステムに直接書き込むため、ファイルをロックする必要があります。そしてそれは同期的に行われます

これは本当に遅いですか?ドメインのLocalStorageに書き込むアプリケーション(ブラウザ)は1つだけだと思いますが、isitをブロックする可能性は低いですか?LocalStorageの上限はわずか5MBですか?LocalStorageへの書き込みに長い待ち時間が発生する唯一の状況は、複数のタブ/ブラウザーが同じWebアプリにアクセスし、大量のデータを書き込んでいる場合です。それでも、キャッシュする必要があると思います。できればライトバックキャッシュを使用すると、再び高速になるはずです。

4

1 に答える 1

1

ほとんどのブラウザは、メモリストレージと同様にWebストレージを実装すると思います。したがって、Webワーカーを使用するよりもパフォーマンスが向上することはありません。

複数のタブ/ブラウザを処理するには、ストレージイベントを使用します。

ご覧のとおり、localStorageは低速ではありませんが、読み取りと書き込みで一貫性がない場合があります。IndexedDBやWebSQLのようなトランザクションストレージを使用する以外にできることは何もありません。

于 2012-12-27T06:06:33.307 に答える