6

ここで少し混乱しました。ArrayBuffer は新しいメモリ領域を割り当てますか? もしそうなら、それに置くのに安全な最大ブロブサイズはどれくらいでしょうか?

4

5 に答える 5

4

それに置くのに安全な最大ブロブサイズは何ですか

プラットフォームが課す制限が何であれ、厳密な制限はないようです。

ただし、何らかのインデックス アクセスを使用する場合、インデックスはNumber.MAX_SAFE_INTEGERよりも大きくしないでください。そうしないと、興味深いバグが発生する可能性があります。

幸いなことに、2^53-1 バイトは約 8 ペタバイトなので、本当に奇妙なことをしない限り、問題にはなりません。

于 2017-06-29T13:53:44.607 に答える
1

私も同じ質問を自問自答していました。バッファは、利用可能なシステム メモリと、基盤となる JavaScript エンジンの GC が大量のメモリを処理する能力によって制限されているようです。ブラウザのコンソールに大きなバッファを作成し、反対側でブラウザのプロセスと全体的なメモリ フットプリントを監視することで、プラットフォームで簡単にテストできます。

Chrome 37 で 512MB を超えるバッファを作成することができました。ただし、4GB のシステム メモリがあるため、より多くの割り当てを行うと明らかにクラッシュする可能性があります。私は 100MB までの割り当てで問題ないので、限界点を見つけることに興味はありませんが、明らかに自分で簡単にテストできます。

于 2014-09-09T09:35:30.517 に答える