問題タブ [memory-consumption]

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.

0 投票する
2 に答える
536 参照

c# - XML ファイルの解析中のメモリの削減と速度の向上

約 30 個のランダムな名前の XML ファイルを含むディレクトリがあります。したがって、名前はその内容についての手がかりにはなりません。そして、定義済みのルールに従って、これらすべてのファイルを 1 つのファイルにマージする必要があります。残念ながら、単純なスタイルシートを使用するには複雑すぎます。
各ファイルは、そのルート内に最大 15 の異なる要素を持つことができます。そのため、それぞれ XDocument をパラメーターとして取り、XML 内の特定の要素を検索する 15 の異なるメソッドがあります。次に、そのデータを処理します。また、これらのメソッドを特定の順序で呼び出すため、すべてのデータが正しい順序で処理されることを保証できます。
ノードの例には、製品のリスト、特定の製品コードの価格のリスト、製品名の翻訳のリスト、国のリスト、特定の国での製品の割引のリストなどがあります。いいえ、これらも非常に単純な構造ではありません。

今、私は次のようなことをしています:

メモリ内での読み取りを減らし、より高速な結果を生成する方法でこれを行うことができるかどうか疑問に思います。ただし、速度はメモリよりも重要です。したがって、このソリューションは機能します。より少ないメモリを使用するより高速なものが必要です。
助言がありますか?

0 投票する
2 に答える
1524 参照

javascript - Node.js でのスパース配列のメモリ消費

配列を生成する小さなプログラムを作成しましたが、これは非常に長く実行されます (ほぼ永久に ;-)):

空の配列の代わりに length のスパース配列を作成するiと、プログラムが非常に速くクラッシュします。

実際にはi17424 に等しくなり、エラー メッセージが表示されます。

Node.js によってコンソールに戻ります。唯一の違いは、2 番目のものは最初のものよりも「大きい」空の配列を生成することであるため、これは、長さの空のスパース配列が lengthの空の配列のスペースの倍nを占めることを意味します。n1

私はこれについて正しいですか (特に Node.js に対して)?

もう 1 つの質問: 実行した場合

その後、1286175 になり、次のように再びクラッシュします。

これが他の 2 つのオプションと異なる動作をするのはなぜですか?

PS: Node.js 0.12.0 を使用して、これを OS X で実行しています。

0 投票する
3 に答える
2924 参照

java - Java のパフォーマンス/メモリ消費: クラスと配列

興味深い: 最近、Java プロジェクトの 1 つで、データを 2 次元配列に格納するか、そのインスタンスを 1 次元配列に入れる専用のクラスを作成できるという状況に遭遇しました。それで、パフォーマンス(ランタイム、メモリ消費)に関して、このトピックに関する標準的な設計アドバイスがあるかどうか疑問に思いますか?

設計パターン(非常に単純化された状況)に関係なく、次のようなデータを保存できるとしましょう

その後

どういうわけ、配列ベースのアプローチは、よりコンパクト (メモリ) で高速 (アクセス) であるべきだと思います。繰り返しになりますが、そうではないかもしれません。配列もオブジェクトであり、配列アクセスはインデックスをチェックする必要がありますが、オブジェクト メンバー アクセスはそうではありません。(?)オブジェクト配列の割り当てには、おそらく(?)時間がかかります。インスタンスと私のコードは、追加のクラスのために大きくなります。

したがって、一般的な JVM の設計は、アクセス速度とメモリ消費の点で、一方のアプローチに対して他方のアプローチよりも優れているのでしょうか?

どうもありがとう。