-1

メモリが頻繁に再割り当てされると、ヒープメモリに格納されたデータへのアクセスが非常に遅くなるという問題に遭遇しました。

時々再割り当て

と比較して

割り当てられたら

この動作を説明できるものは何ですか?

4

1 に答える 1

2

ページ フォールトの問題の可能性があります。RAM の大きなブロックを malloc すると、おそらく物理 RAM がすぐには割り当てられず、いくつかのページ テーブル エントリが設定されます。物理 RAM は、その場所に初めてアクセスするまで割り当てられません。これには

  • ページ違反、
  • 物理メモリ ページの検索
  • そのページのすべての場所をゼロにする
  • ページテーブルの更新

これは時間的にコストのかかる操作であり、割り当てられたページ (割り当てている RAM に対して 550 x 4k バイトのページ) ごとに 1 回発生します。

于 2011-12-28T16:51:48.923 に答える