問題タブ [memory-optimization]
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.
cuda - 共有メモリ最適化の混乱
各ブロックで1kbの共有メモリを使用するアプリケーションをcudaで作成しました。各SMには16kbの共有メモリしかないため、全体で16ブロックしか収容できません(正しく理解していますか?)。ただし、一度にスケジュールできるのは8つだけですが、一部のブロックがメモリ操作の実行でビジー状態の場合、他のブロックはGPUでスケジュールされますが、すべての共有メモリはすでにそこでスケジュールされている他の16ブロックによって使用されるため、前に割り当てられたブロックが完全に終了しない限り、cudaは同じsmでそれ以上のブロックをスケジュールしませんか?または、一部のブロックの共有メモリをグローバルメモリに移動し、そこに他のブロックを割り当てます(この場合、グローバルメモリアクセスの遅延について心配する必要がありますか?)
java-me - j2meのtxtファイルから特別な行を読む
たとえば、次のようなテキスト ファイルがあります。この作品の思い出を残したい。
python - このPythonスクリプトのメモリを効率的にする方法
このスニペットは、すべてのドキュメントをデータベースから取り出し、gzip圧縮されたファイルにダンプします。docs_to_dumpは、ダンプされるすべてのテキストドキュメントを含むdjangoオブジェクトです。
残念ながら、それはまた、OSがそれを破壊するほど多くのメモリを消費します。「ファイルのようなオブジェクト」に書き込むことで、圧縮されたファイルがその場で作成され、メモリが比較的少なくなると思いました。代わりに、数百MBを消費し、その後クラッシュします。
私は圧縮の専門家ではありませんが、圧縮ファイル全体がメモリに保存されているように感じます。
私がこれを行うべきより良い方法はありますか?
編集-ファイル全体はここにあります:https ://bitbucket.org/mlissner/search-and-awareness-platform-courtlistener/src/2ca68efd8017/data-dumps/data-dumper.py
entity-framework-4.1 - Entity Framework (オブジェクト グラフ) でクエリから作成されたオブジェクトを最適化する方法
EF4.1 の使用中にメモリの問題が発生しました。問題は主に次の状況で発生します。1 つ以上のコースに参加できる学生がいて、複数のユーザーが同じコースに参加できるとします。だから、私は次のようなものを持っています:
BD に 2 人の生徒と 1 つのコースがあるとします。このような:
Ana は英語コースに参加します Bob は英語コースに参加します
私のオブジェクトグラフは次のようなものです:
これで問題ありません。
これを保存すると、student テーブルに 2 行、courses テーブルに 1 行が保存されます。
問題は、このデータを取得しようとするときです。
次のようなことをすると:
これは結果のグラフです:
オブジェクトが複製されます。このツリーの深さがはるかに大きく、何千人もの学生と何千ものコースがあり、同じコースに何百人もの学生が参加している状況を想像してみてください。
このクエリのメモリ使用量は非常に大きくなります。この参照の問題を解決するにはどうすればよいですか?
numpy - Numpy:ランダムデータでドット積のメモリフットプリントを削減
ランダムに生成された値を使用して線形射影を行う大きなnumpy配列があります。
残念ながら、random_array多くのメモリを消費し、私のマシンはスワッピングを開始します。random_array私には、実際には一度にすべてを必要としているわけではないように思えます。理論的には、内積の計算中に怠惰に生成できるはずです...しかし、その方法がわかりません。
output_arrayからの計算のメモリフットプリントをどのように減らすことができinput_arrayますか?
java - クラス、プリミティブデータ型、および文字列に対するJavaEE5のメモリフットプリントの最小化
コンテキストは次のとおりです。JavaEE5。
巨大なアプリを実行しているサーバーがあります。クラスをリファクタリングする必要があります。これにより、CPU時間(十分な時間)と引き換えに、メモリフットプリントが低くなります(可能な限り低くなります)。
ビット演算を使用して、複数のブール値、ショート、またはバイトをintに詰め込む方法をすでに知っています(たとえば)。
文字列で何をするか、どのコレクションを使用するのが良いか、その他あなたが知っていることなど、他の最適化のアイデアが必要です。
Thx、君たちは支配する!
arrays - メモリフットプリントを最小限に抑える「スパース」ルックアップアレイの構築
ネットワークプロトコル(イーサタイプなど)を解析するためのルックアップを実行する配列を作成するとします。このような識別子は2バイトの長さであるため、直接インデックスを使用すると、2 ^ 16セルの配列になります。配列がまばらである可能性が非常に高いため、これは実際の無駄です。配列。
メモリ使用量を最大限に減らすために、CMPHのような完全なハッシュ関数ジェネレーターを使用して、「n」個の識別子を衝突することなくnサイズの配列にマップできるようにします。このアプローチの欠点は、外部の「外部」ライブラリに依存する必要があることです。
私の場合、メモリ使用量を抑えながら一定時間のルックアップを行うためのよりスマートな方法があるかどうか疑問に思っています。私は16ビットの符号なし数値のインデックス付けに興味があり、セットサイズはかなり制限されていることを覚えておいてください。
ありがとう
c - 固定範囲浮動小数点数を効率的に格納する方法
float の (大きな) 配列をヒービングしています。各 float には 4 バイトが必要です。
float の範囲が 0 から 255 の間であるという事実を考慮して、各 float を4 バイト未満で格納する方法はありますか?
配列全体に対して任意の量の計算を実行できます。
私はCを使用しています。
optimization - 最小のメモリフットプリントでの連続したアイテムの比較
J(J6または7ではなくJ503を使用)では、通常、配列の要素が前の要素よりも小さいかどうかを確認したい場合は、次のように使用します。
その結果、n-1個のアイテムになります。
内部的に、 2つの配列}:を}.作成し(1つは最後の項目を省略し、もう1つは最初の項目を省略します)、最終的に<:比較を可能にします。合計メモリ使用量は2(n-1)、2つの一時アレイの場合になります。
直感的にうまく機能するはずの別のアプローチは、より多くのメモリを必要とします。
(J6はこれをはるかにうまく処理します。しかし、私はJ5で立ち往生しています)。
同じ操作のよりスリムな代替手段は何でしょうか?
c# - メモリーをあまり消費しないコレクション?
自分のコレクションをローリングする以外に、既存の(.NET 3.5)コレクションとIDictionaryで使用するメモリの量が最も少ないのではないかと思います。
私は現在使用しています
- List <int>。ここでは、アイテムを追加するだけで、後でそれを繰り返し処理します。
- Dictionary <int、int>。ここでは、キーと値のペアのみを設定して取得します。
注:私は成熟した最適化を行っています。
編集:事前にサイズはわかりませんが、おおよそ、辞書は約789679要素に拡大し、リストには平均して10〜20個の要素が含まれます。