問題タブ [memory]

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 投票する
6 に答える
4681 参照

c# - 1人の顧客のボックスにのみ表示されるメモリリーク(C#)を追跡するための最良の方法

1人の顧客のテスト/リリースボックスでのみ検出され、他の場所では検出されないメモリリークを追跡するための最良の方法は何ですか?

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

c# - オブジェクトが.NETで使用しているメモリの量を確認する最も簡単な方法は何ですか?

オブジェクトが.NETで使用しているメモリの量を確認する最も簡単な方法は何ですか?

できれば、サードパーティのツールに頼る必要はありません。Marshal.SizeOfまたはsizeof演算子は便利に見えますが、制限された範囲の型でのみ機能します。

いくつかの関連する投稿:

0 投票する
8 に答える
4219 参照

c++ - データ領域とは

C++ では、ストレージ クラス指定子 static がデータ領域からメモリを割り当てます。「データ領域」とはどういう意味ですか?

0 投票する
23 に答える
130418 参照

c++ - どちらが速いですか: スタック割り当てまたはヒープ割り当て

この質問はかなり初歩的なものに聞こえるかもしれませんが、これは私が一緒に働いている別の開発者との議論です。

ヒープ割り当てではなく、可能な限りスタック割り当てに注意していました。彼は私に話しかけ、私の肩越しに見守っていて、パフォーマンスに関しては同じなので必要ないとコメントしました。

私は常に、スタックの成長は一定の時間であり、ヒープ割り当てのパフォーマンスは、割り当て (適切なサイズの穴を見つける) と割り当て解除 (断片化を減らすために穴を折りたたむ) の両方の現在のヒープの複雑さに依存するという印象を受けていました。私が間違っていなければ、多くの標準ライブラリの実装では、削除中にこれを行うのに時間がかかります)。

これは、おそらくコンパイラに大きく依存するものだと思います。特にこのプロジェクトでは、 PPCアーキテクチャ用のMetrowerksコンパイラを使用しています。この組み合わせに関する洞察は最も役に立ちますが、一般的に、GCC と MSVC++ の場合はどうでしょうか? ヒープ割り当てはスタック割り当てほどパフォーマンスが高くないですか? 違いはありませんか?または、違いが非常に小さいため、無意味なマイクロ最適化になります。

0 投票する
7 に答える
35940 参照

ruby-on-rails - Ruby/Ruby on Rails メモリリーク検出

Ruby on Rails を使用して小さな Web アプリを作成しました。その主な目的は、xml (ファイルは最大数 MB になる可能性があります) からの結果をアップロード、保存、および表示することです。約 2 か月実行した後、mongrel プロセスが約 4GB のメモリを使用していることに気付きました。ruby のメモリ リークのデバッグについて調査しましたが、多くは見つかりませんでした。そこで、質問が 2 つあります。

  • Ruby/Rails でメモリ リークを見つけるために使用できる優れたツールはありますか?
  • Rubyでメモリリークを引き起こすコーディングパターンは何ですか?
0 投票する
5 に答える
16745 参照

visual-studio - VisualStudio2005のメモリ使用量

Visual Studioのメモリ使用量は、平均して150〜300MBのRAMになることがよくあります。

Visual Studioの複数のインスタンスを開いた状態で実行する必要があることが非常に多い開発者として、VSが使用するメモリの量を最適化するためのパフォーマンスの秘訣はありますか?

1つのアドイン(TFS)を使用してVS2005を実行しています

0 投票する
13 に答える
147600 参照

java - WindowsXPのJava最大メモリ

私は常に、32ビットのWindows XP(Java 1.4、1.5、および1.6)で実行されているJavaSEに1400メガバイトを割り当てることができました。

今日、Java1.5_16と1.6.0_07を使用する新しいWindowsXPマシンで同じオプションを試しましたが、エラーが発生しました。

試行錯誤の結果、このマシンに割り当てることができるのは1200メガバイトが最も多いようです。

あるマシンが1400を許可し、別のマシンが1200しか許可しない理由はありますか?

編集:マシンには、Windowsが認識できる約3.5GBのRAMが4GBあります。

0 投票する
5 に答える
34921 参照

javascript - Firefox用のJavascriptメモリプロファイラー

ページ/スクリプトで作成したJavascriptオブジェクトのメモリ使用量をダンプするFirefox用のツール/プラグイン/関数はありますか?Firebugのプロファイラーについては知っていますが、それ以上のものが欲しいのです。Yourkitがメモリ使用量のJavaプロファイリングのために持っているものに似た何か。

理由は、同僚が配列内の「キー」にIDを使用しており、これを行うと数千の空のスロットを作成しているためです。彼はこれは無害であるとの意見ですが、私の意見は異なります。私が正しいかどうかを証明するための証拠を提供したいと思います。

0 投票する
12 に答える
5693 参照

c++ - 最新のコンパイラを使用した C++ の「memset」機能の状態

環境:

少し前に、Alexandrescu による 2001 年の DDJ の記事を見つけました: http://www.ddj.com/cpp/184403799

バッファを何らかの値に初期化するさまざまな方法を比較することです。「memset」がシングルバイト値に対して行うことと同様です。彼はさまざまな実装 (memcpy、明示的な "for" ループ、duff のデバイス) を比較しましたが、すべてのデータセット サイズとすべてのコンパイラで最適な候補を実際に見つけることはできませんでした。

見積もり:

このすべての根底には、非常に深く悲しい認識があります。2001 年は空間オデッセイの年です。(...) 箱から出して、私たちを見てください — 50 年経った今でも、私たちはメモリを埋めたりコピーしたりするのが苦手です。

質問:

  1. 誰かがこの問題に関するより最近の情報を持っていますか? 最近の GCC および Visual C++ の実装は、7 年前よりもパフォーマンスが大幅に向上していますか?
  2. 私は、寿命が 5 年以上 (おそらく 10 年以上) あり、数バイトから数百メガバイトまでの配列のサイズを処理するコードを書いています。今の選択が 5 年後も最適であるとは思えません。私は何をすべきか:
    • a)システムのmemset(または同等のもの)を使用して、最適なパフォーマンスを忘れるか、ランタイムとコンパイラがこれを処理すると想定します。
    • b)さまざまな配列サイズとコンパイラで一度だけベンチマークし、実行時にいくつかのルーチン間で切り替えます。
    • c) プログラムの初期化時にベンチマークを実行し、正確な (?) データに基づいて実行時に切り替えます。

編集:私は画像処理ソフトウェアに取り組んでいます。私の配列アイテムはPODであり、ミリ秒ごとにカウントされます!

編集2:最初の回答をありがとう、ここにいくつかの追加情報があります:

  • バッファーの初期化は、一部のアルゴリズムの合計実行時間の 20% ~ 40% を占める場合があります。
  • プラットフォームは今後 5 年以上で変化する可能性がありますが、「DELL から購入できる最速の CPU」カテゴリにとどまるでしょう。コンパイラは、GCC および Visual C++ の何らかの形式になります。レーダーに埋め込まれたものやエキゾチックなアーキテクチャはありません
  • 「SSE2015」が利用可能になったときに同じことをしなければならないので、MMXとSSEが登場したときにソフトウェアを更新しなければならなかった人々の話を聞きたいです... :)

0 投票する
9 に答える
10866 参照

objective-c - Cocoa でのメモリ リークの回避、発見、削除

メモリ (およびリソース) リークが発生します。彼らがそうしないことをどのように確認しますか?

そもそもメモリリークの発生を避けるために、どのようなヒントとテクニックを提案しますか?

リークしているアプリケーションを入手したら、リークの原因をどのように突き止めますか?

(ああ、「GCを使用するだけ」の回答は避けてください。iPhoneがGCをサポートするまで、これは有効な回答ではありません。それでも、GCでリソースとメモリをリークする可能性があります)