今日、mark-and-sweepとcopy collectionについて勉強しました。
mark-and-sweepはアクセス可能なセルにmarkを付けてゆき、その後、すべてのセルを調べmarkのついてないセルをsweepするというもの。
copy collectionはメモリセル群をworking halfとfree halfにわけ、workinghalfのセルが多くなってきたら、それをfree halfにコピーしてfree halfに整理する。そして、working halfとfree half を入れ替える。
と解釈しています(間違っていたら訂正お願いします)
今取り組んでいる問題が
「mark-and-sweepはsweep時にタイムロスを起こします。これを解決するためにcopy collectionと呼ばれる方法がとられています。copy collectionがどう動くが説明し、sweep時のタイムロスの問題を解決する以外のcopy collectionの利点を挙げよ」
です。
しかし、いまいちcopy collectionの良さが理解できてません。
mark-and-sweepより速そうなのはわかりますし、copyする際にメモリが整理されるのでメモリセルの有効活用になりそうなのもなんとなくわかるのですが。結局のところ何がよいのでしょうか?
どなたかわかる方、アドバイス、補足をいただけないでしょうか。
No.1ベストアンサー
- 回答日時:
ガーベージ・コレクションの話なんて久しぶり….
> sweep時のタイムロスの問題を解決する以外のcopy collectionの利点を挙げよ
メモリ回収と同時にコンパクションができるため,
・メモリの断片化が解消される.
・リンクされているオブジェクト同士が近くに再配置される可能性が高いので,
次回にそれらのオブジェクトにアクセスする際にキャッシュが効きやすい.
…あたりかな.
第5章 ガ-ベージコレクション
http://i.loveruby.net/ja/rhg/book/gc.html
ガベージコレクション (Wikipedia)
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99% …
フラグメンテーション (Wikipedia)
http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%A9% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA 難しいです 1 2023/02/21 15:39
- 英語 英語で「1年半」と言いたい時、「a year and a half/one and a half y 2 2023/07/28 00:52
- 英語 英語で「1年半」と言いたい時、「a year and a half/one and a half y 1 2023/07/29 18:11
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- 英語 次の文のthemが指すものは何でしょうか? 5 2023/05/17 22:17
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 配列からセルに「...
-
VBAマクロ実行時エラーの修正に...
-
VBA 複数条件の分岐処理の上手...
-
【VBA】写真の貼り付けコードが...
-
EXCEL VBA 文中の書式ごと複写...
-
Excelで空白セル直前のセルデー...
-
VBAでユーザーフォームにセル値...
-
VBA:日付を配列に入れ別セルに...
-
Excel UserForm の表示位置
-
複数指定セルの可視セルのみを...
-
VBA にて、条件付き書式で背景...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
Excel VBA IF文がうまく動作し...
-
VBA チェックボックスで
-
エクセルの合計を自動で表示さ...
-
C# DataGridViewで複数選択した...
-
excelで結合セルの場合にエラー...
-
特定の色のついたセルを削除
-
QRコード作成マクロについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
Excel UserForm の表示位置
-
【Excel VBA】一番右端セルまで...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
EXCEL VBA 文中の書式ごと複写...
-
下記のマクロの説明(意味)を...
-
Excel VBAでCheckboxの名前を変...
-
【VBA】写真の貼り付けコードが...
-
特定の色のついたセルを削除
-
VBA:日付を配列に入れ別セルに...
-
VBA にて、条件付き書式で背景...
-
DataGridViewのフォーカス遷移...
-
関数の引数でrangeを指定したとき
-
入力規則のリスト選択
-
DataGridViewで指定したセルの...
-
VBAでユーザーフォームにセル値...
-
複数指定セルの可視セルのみを...
おすすめ情報