問題タブ [memory-efficient]
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.
delphi - 可変データ サイズの FIFO キューをどのように設計しますか?
可変データサイズの FIFO キュー (単純なもの、最初にプッシュされたもの、最初にポップ) に取り組んでいますが、設計方法がよくわかりません。そこに格納するデータ型は事前にわかっており、このクラスの各インスタンスで同じになるとしましょう。次の定義を持つレコードが格納される TList を使用することを考えていました (@David - D2007 用であるため、利用可能なGenerics.Collectionsがありません:)
このような実装を使用します (ここでは、すべてが正常に機能するふりをしているので、例外処理は使用されません)
私の質問は:
これは、数バイトから約 1MB (ストリームの場合) のサイズの FIFO キュー (文字列、ストリーム、レコードなどのデータ型) を作成する効率的な方法ですか?
どうもありがとう
python - これは効率的なMySQLデータベース設計ですか?
私は一連のキーワード[abc、xyz、klm] `を持っているプロジェクトに取り組んでいます。コンテンツ[1.txt、2.txt、3.txt]を含むテキストファイルもたくさんあります。
私がしているのは、キーワードをテキストファイルにぶつけて、キーワードが出現する行を見つけることです。これは、複数回実行できます。ID (text file name without .txt), Extracted_Data, Line_Number, Spwaned_Across (keyword may be spread across 2 lines)
だから私は発生ごとにを保存したいと思います。
このデータを保存するために、キーワードごとにテーブルを作成することにしました。
テーブル:abc、xyz、klm
表abcサンプルデータ:
だから私は各キーワードの表になってしまいます。私のプロジェクトでは、約150のキーワードがあり、それは成長する可能性があります。つまり、150のテーブル。
なぜ私はこの方法を選んだのですか?
今のところ、キーワードがファイルに存在するかどうかを確認する必要があります。将来、ファイル内のどこで、どのようにキーワードが発生したかを示すように求められると確信しています。新しいキーワードごとにテーブルを自動的に作成することを計画しています。これにより、キーワードごとに手動で作成したり、数百の列を持つ巨大なテーブルを作成したりする必要がなくなります。
私は正しい決断をしましたか?ご意見をお待ちしております。
c - Pthreads - 高いメモリ使用量
256Mb システム上の Linux で多くの Pthreads を作成する C で何かをプログラミングしています。私は通常+200Mbの空き容量があります。
少量のスレッドでプログラムを実行すると動作しますが、約 100 のスレッドを作成すると、システムのメモリが不足するためにエラーが発生します。私はいくつかのテストを行い、各スレッドはほぼ 2Mb を使用しました。スレッドのスタック サイズは 16Kb に設定されています。
各スレッドの作成に使用するコード:
それは正常ですか、それとも何か不足していますか?ありがとう。
sql - db2 データベースの行を効率的に更新する方法
9,200 万行のテーブルがあります。そのテーブルから、データの更新が必要な 4000 個の ID のリストがあります。4000 個の ID を独自のテーブルに入れ、次を実行してみました。
しかし、これはメモリの制約により失敗します。そこで、4000 個の ID をそれぞれ 1000 個の 4 つのテーブルに分割しようとしましたが、それらの小さなテーブルで試してみると、まだ失敗しています。このような大きなテーブルを処理する最も効率的な方法は何ですか?
ありがとう。
hash - ハッシュ効率
pxq バイトのデータをハッシュに格納したいと考えています。
どちらがより効率的ですか?
pxq エントリがそれぞれ 1 バイトを格納するハッシュ、または p エントリがそれぞれ q バイトのデータを格納するハッシュ
キーはスパース メモリ アドレスです
performance - short が 65,536 の可能な値しか保持できないのはなぜですか?
short では 65,536 の可能な int を使用できることは理解していますが、255,256 の可能な値 (0 から 255,255 の符号なし) を使用できないのはなぜですか? 次のようにできることがわかります。
誰かがすでにこれを考えていますか?なぜ使われていないのですか?
algorithm - サブリニア メモリを使用した順列の生成
N 個の要素の順列を生成するための十分に単純なアルゴリズムがあるかどうか疑問に思ってい1..N
ますO(N)
。n 番目の順列を計算する必要はありませんが、すべての順列を計算できなければなりません。
もちろん、このアルゴリズムはある種のジェネレーターであるか、メモリを使用しない内部データ構造を使用する必要があります。O(N)
サイズのベクトルとして結果を返すことは、N
サブリニア メモリの制限にすでに違反しているためです。
c++ - 線形プロービングを使用してハッシュテーブルをより効率的にするにはどうすればよいですか?
ステップ付きの線形プロービングを使用して衝突を解決する効率的なハッシュテーブルを実装しようとしています。この機能は、可能な限り効率的である必要があります。不必要な=
操作==
はありません。私のコードは機能していますが、効率的ではありません。この効率は、社内システムによって評価されます。それはより良い必要があります。
キーと値のペアを表す2つのクラスがあります:CKey
とCValue
。これらのクラスにはそれぞれ、標準コンストラクター、コピーコンストラクター、およびオーバーライドされた演算子=
とがあり==
ます。どちらにも、getValue()
内部プライベート変数の値を返すメソッドが含まれています。getHashLPS()
の中には、ハッシュテーブル内CKey
のハッシュされた位置を返すメソッドもあります。
ハッシュ表。
メソッド
どちらの関数も(私自身の目的で)衝突カウントを返し-1
、検索対象CKey
がテーブルにない場合、またはテーブルがいっぱいの場合に戻ります。
墓石は禁止されています。取り外した後の再ハッシュは必須です。
r - ワイド フォーマット データとロング フォーマット データのどちらがより効率的ですか?
解釈に関係なく、データをロングフォーマットまたはワイドフォーマットで保存する方が効率的かどうかに興味がありますか? 私はobject.size()
メモリ内のサイズを決定するために使用しましたが、それらに大きな違いはなく (サイズに関しては long の方がわずかに効率的です)、値は推定値にすぎません。
生のサイズに加えて、モデリングで使用するときに操作するという点で、どちらの形式がより効率的かということも考えています。
c++ - どうすればメモリに正確に2ビットを入れることができますか?
0から3までの値をデータ構造に格納できるはずです。したがって、2ビットが必要です。このデータ構造は素晴らしい2^16の場所になります。だから、私は2 ^ 16 * 2(ビット)が欲しいです。C + +では、メモリに正確に2ビットを使用しますか?