問題タブ [gcallowverylargeobjects]

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

c# - .Net の非常に大きなコレクションによってメモリ不足の例外が発生する

コレクションが .Net でどれだけ大きくなるかをテストしています。技術的には、どのコレクション オブジェクトも物理メモリのサイズまで大きくなる可能性があります。

次に、Windows 2003 サーバーと Visual Studio 2008 を実行する 16 GB メモリのサーバーで次のコードをテストしました。F# と C# コードの両方をテストし、実行中にタスク マネージャーを確認しました。約 2GB のメモリを増やした後、プログラムがメモリ不足の例外でクラッシュしたことがわかります。プロパティ ページでターゲット プラットフォームを x64 に設定しました。

C5コレクション ライブラリに対して同じテストを行いました。その結果、C5 のディクショナリがメモリ全体を使い果たす可能性があります。コードは C5 を使用します。

誰でも理由を知っていますか?

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

c# - .NET での配列の割り当て

問題は、.net での配列の割り当てに関するものです。以下に、取得できる配列の最大長が長さになるサンプル プログラムがあります。長さを +1 に増やすと、outofMemory 例外が発生します。しかし、長さを維持してコメントを削除すると、2 つの異なる大きな配列を割り当てることができます。両方の配列は、2 GB の .net 許容オブジェクト サイズよりも小さく、合計メモリも仮想メモリよりも小さくなっています。誰かが何か考えを入れることができますか?

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

.net - Array.zeroCreate と Array.init の違い

2GB 以上の RAM を割り当てられることを同僚に示したかったので、ちょっとしたテスト アプリケーションを作成しました。

これは機能し、プロセスがシステムのメモリを喜んで占有しているのを実際に確認できます。ただし、多少時間がかかるため、Array.Parallel.init.

私は、同じコードが機能しないことに気付きました。

より正確には、データは割り当てられず、時間もかかりません。

したがって、私の質問です。Array.zeroCreate と Array.init のセマンティクスの違いは何ですか?

毎回関数Array.initが実行されることを理解しています。これにより、時間差が説明されます。konst 0uyしかし、なぜArray.zeroCreateメモリを割り当てないのですか?

0 投票する
1 に答える
1872 参照

c# - コードビハインドを使用してgcAllowVeryLargeObjectsをどのように記述しますか

これをコード ビハインドで c# で記述するにはどうすればよいですか? gcAllowVeryLargeObjects 構成ファイルを使用できません。

以下は設定ファイルのバージョンです

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

c# - 特大配列

数学計算のために、サイズが 34000x34000 の 2 次元配列を操作する必要があります。

明らかな問題 - CLR がそのような大きなデータ部分をメモリに格納できないことです。を使用しよMemoryMappedFileうとしましたが、オブジェクトのビューアーを作成しようとしても失敗します: MemoryMappedFile.CreateViewAccessor()。大規模な配列を格納する方法は他にもありますか? (カスタムの大規模データストレージを実装しようとする時間があまりないため)

ありがとう