問題タブ [memory-mapped-files]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 文字列への直接メモリ マップ
「FileChannel.map()」を介してメモリにマッピングしているファイルがあります。ただし、文字列を読み取って次のことを行うのは少し奇妙に思えます。
C++ のバックグラウンドから、メモリ マップされたファイルがメモリへのポインタとしてユーザーに渡されることを知っています。では、バイト配列の使用をスキップして、文字列変換をマップされたメモリからすぐに実行する良い方法はありますか?
iphone - iOSのURLを使用してアクセス可能なメモリにファイルを保持する最良の方法は?
ファイルをメモリに保持し、URLで機能するlibにフィードしたいと思います(NSURLを考えてください)。iOSがfile://などを使用してアクセスできるメモリマップトファイルを作成できれば便利です。
私のフォールバック方法は、メモリからファイルを提供するローカルサーバーソケットを作成することですが、可能であれば、より適切な方法を見つけたいと思います。
c++ - 構造体をファイルにエクスポートしてから、ファイルをメモリマップする方法は?
ファイルにエクスポートしたい構造体があり、そのファイルをmmap()します。1つの問題は、構造体に文字列であるメンバー変数があり、mmapがそれをどのように処理するかわからないことです。この場合、これらの文字列はすべて同じサイズ、8文字です。Linuxのmmap()関数を複製することになっているオンラインで見つけたmmap()関数を使用していますが、私はWindowsで作業しています。
構造体自体は次のように定義されます。
オブジェクトのsizeof()の戻り値を定義することは可能ですか?
構造体データを含むファイルをmmappingすることは可能でしょうか?
構造体をファイルにエクスポートしてからmmapするには、どのコードを使用する必要がありますか?
c++ - メモリマップトファイルstd::allocatorの実装により、WM6デバイスがフリーズします
WindowsMobile6.x用のVisualStudio2008 C ++プロジェクトがあり、32MBのプロセススロットで使用できるよりも多くのメモリが必要です。そのため、メモリマップトファイルの使用を検討しています。new/deleteをCreateFileMappingとMapViewOfFileに置き換える標準のアロケータ実装を作成しました。
使用目的は次のようなものです。
を使用すると、例外std::allocator
を取得する前に、その例で28197回の反復を取得できます。std::bad_alloc
を使用するMappedFileAllocator
と、デバイスが完全にフリーズして再起動する必要がある前に、32371回の反復が発生します。私のデバイスには512MBのRAMがあるので、そのループからはるかに多くの反復を取得できると期待していました。
私のMappedFileAllocator
実装は次のとおりです。
誰かが私のMappedFileAllocator
実装でどこが間違っているのかを提案できますか?
ありがとう、PaulH
python - 文字列の配列のnumpy.memmap?
文字列numpy.memmap
の大規模なディスクベースの配列をメモリにマップするために使用することは可能ですか?
フロートなどでできることは知っていますが、この質問は特に文字列に関するものです。
固定長文字列と可変長文字列の両方のソリューションに興味があります。
このソリューションは、適切なファイル形式を自由に指定できます。
c++ - MapViewOfFileは、WindowsMobile6デバイスをフリーズします
メモリマップトファイルを使用しているWindowsMobile6ARMV4I用のVisualStudio2008C++プロジェクトがあります。残念ながら、デバイスがロックする原因になります。このコードで問題を示すことができます:
私のテストでは、65529回の反復後にWindowsMobile6クラシックエミュレーターがフリーズします。これは私が間違って行っていることですか、それとも私が知っておくべきプラットフォームの問題がありますか?
ありがとう、PaulH
編集: / STACK:1048576,4096に増やすと、デバイスがフリーズする前に65535回の反復をヒットできます。
Edit2:GlobalMemoryStatus
障害の直前によると、デバイスには70.5MB/94.1MBの空き物理メモリがあります。
Edit3:2つのMMFを作成し、両方を最大65500*256バイトでロードできます。ただし、どちらも個別に65535の割り当てを超えることはできません。実際には、割り当てサイズは重要ではありません。それぞれ半分から128バイトにカットできますが、それでも65535を超える反復で失敗します。
Edit4:実際のファイルでMMFをバックアップしても、違いはないようです。>65535回の反復での失敗。
java - メモリマップトファイルを切り捨てる
インデックスファイルにメモリマップドIOを使用していますが、問題は、ファイルのほとんどが空の場合、ファイルのサイズを変更できないことです。
以前のどこか:
サイズ変更:
WindowsまたはLinux32ビットを使用している場合、マッピング解除の問題が発生することがよくありますが、64ビットLinux実稼働環境では、すべてが警告なしで機能するように見えますが、ファイルは元のサイズを維持します。
なぜこれが起こるのか、そして/または問題を解決する方法を誰かが説明できますか?
php - PHPのメモリマップトファイル、php:// tempとphp://memoryの違いは何ですか
PHPでファイルをメモリに非常に簡単に保存する方法が必要です。ファイルが作成され、すぐに別のWebサービスに送信されます。PHP 5.1の時点で、ストリームphp://temp
とphp://memory
ストリームが利用可能であることがわかりますが、2つの間に大きな違いはないようです。関数をphp://temp
サポートし、サポートしていません。この場合、どちらを使用する必要がありますか、それともPHPでメモリマップトファイルを実行するためのより良い方法がありますか?stream_select()
php://memory
python - numpy.memmap のパージ
numpy.memmap
で作成されたオブジェクトmode='r'
(つまり、読み取り専用) が与えられた場合、オブジェクト自体を削除せずに、読み込まれたすべてのページを物理 RAM から強制的に削除する方法はありますか?
言い換えれば、memmap
インスタンスへの参照は有効のままにしておきたいのですが、ディスク上のデータをキャッシュするために使用されているすべての物理メモリはコミットされないようにします。配列へのすべてのビューmemmap
も有効なままにする必要があります。
これを診断ツールとして使用して、スクリプトの「実際の」メモリ要件と、memmap
.
RedHat で Python 2.7 を使用しています。