JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
2(1): デフォルトの名無しさん [sage] 2015/12/07(月) 07:27:56.10 ID:7ldc1+VM(1) AAS
↓ こちらへどうぞ
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止](c)2ch.net
2chスレ:tech
454: デフォルトの名無しさん [sage] 2016/11/22(火) 23:34:52.08 ID:bRc12BV/(4/4) AAS
一応パラメータ振ってみたが、
トランザクションの数を絞る(40->2)と目に見えて遅くなるので、並列はしているっぽい。
ただし増やしても速度は上がらない。
一つのトランザクション内のput数を増やしても明確な速度変化は見られない。(20->20-200)
問題点を整理すると、
・I/O律速ならファイルと同等程度になるはずだが、5-10倍遅い。(ライトだけ)
・CPU律速ではないように見える。CPUは空きまくり、スレッドもほぼ全てアイドル時間。
で、何が引っかかってこんなに遅いの?という話。
ちなみに読み出しは十分速く、IndexedDBの中身を丸ごとtarファイルにして出力するのに10秒程度。
格納に20分かかるのに、読み出しには10秒しかかからない。
(読み出しに10秒=中身を読みだしてtarファイルをblobとして作成するまでに10秒、
その後ダウンロードする時にさらに10秒かかる)
このtarファイルを7-Zipで更地に展開するには25秒。
cygwinで既にあるファイルシステムに上書き展開するのには2-3分かかった。(これが前の話)
格納だけ異常に遅いんだが、これって何?
単純比較するとリードと比べてライトが45-120倍遅い。
ただまあwriteが遅いのは事実のようだが、ここにあるように50k records for 10 sec ならいいんだが。
http://stackoverflow.com/questions/22577199/indexeddb-access-speed-and-efficiency
記事は古いがここ見る限り駄目なことはやってなさそう。
http://blog.nparashuram.com/2013/04/indexeddb-performance-comparisons-part-2.html
既に書いたとおり、コードはここと似たようなものだが、oncompleteを使っている。
http://nparashuram.com/IndexedDB/perf/#Transaction based on Write
とはいえライトだけ50倍遅いのは俺の使い方に問題があるのだろう。
実装が如何にボロくてもここまでにはならないし。
というわけで高速書き込みのサンプルコードがあればURLよろしく。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.234s