>>432
例えばC言語でグラフを実装する時も生のポインタのみで実装されることはありません
なぜなら各ノードのメモリを解放するタイミングがわからなくなるためです
そこで主に三つの方法が取られます
一つは各ノード一覧を配列などで持っておくとともに定期的にルートから到達可能か到達フラグを用意します
そしてノード一覧の中で到達フラグが立っていないものをメモリ解放します
この方法の欠点は4つあり
(1) ノード一覧を管理する配列が別途必要となる
(2) 到達フラグが必要となる
(3) 定期的に到達可能かを調べる必要がある
(4) 使われなくなったノードがすぐには解放されない
もう一つの方法は定期的コピー方式です
ルートから到達可能な部分を定期的に別の場所にコピーします
コピーされなかった部分が到達できない使われていない部分なのでまとめて解放となります
この方法の欠点は
(1) この方法も定期的な実行が必要となる
(2) メモリ空間が2倍必要となる
(3) 使われてる全体が定期的にメモリコピーされる負荷
(4) 使われなくなったノードがすぐには解放されない
残りの方法は参照カウンタ方式です
おなじみなので略します
いずれの方法も様々な欠点があります
このグラフのノード解放問題は
ガベージコレクションを必要とするプログラミング言語にそのまま当てはまります
GCの負荷コストを理解していただけましたでしょうか?
次世代言語26 TypeScript Swift Go Kotlin Nim
■ このスレッドは過去ログ倉庫に格納されています
449デフォルトの名無しさん
2022/07/25(月) 16:06:38.58ID:LxBh6KBX■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【W杯C組結果】スコットランド0-3ブラジル/モロッコ4-2ハイチ [征夷大将軍★]
- 【米紙報道】高市首相「コングレッショナルフェロー(官職)」経歴詐称疑惑… ★4 [BFU★]
- 【岐阜】“終わりの会”の最中に…中学校で男性教師(41)が生徒に顔を複数回殴られ出血し搬送 2年生の14歳少年を現行犯逮捕 各務原 [ぐれ★]
- 【サッカー】日本代表、決勝Tの相手が確定! 2位通過ならブラジルと対戦、逆転1位ならモロッコと対戦… X戦々恐々「どっちも怖い」 [冬月記者★]
- 【速報】W杯C組前半終了:スコットランド0-2ブラジル/モロッコ2-2ハイチ [征夷大将軍★]
- 【地震】青森県で震度6強の地震 「北海道・三陸沖後発地震注意」発表か 気象庁が分析中 モーメント・マグニチュード7.0以上なら [ぐれ★]
- 【MLB】ツインズ vs ドジャース ★5
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★172【メキシコ/カナダ/アメリカ】
- 【MLB】ツインズ vs ドジャース ★6
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★171【メキシコ/カナダ/アメリカ】
- MLB総合★50
- 〓たかせん〓 5
- ブルーインパルス、また能登で飛んでしまう 高市「6/28わよ!😍 [399259198]
- 教育基本法改正20年 かつての自民党協議の議事録を入手 「愛国心」を盛り込むかどうかで論争😲 [861717324]
- 坊主クビAKB48花田藍衣「私一人では死なん。他のAKBメンバーがセックスしてる証拠出すぞ」 [977790669]
- Xまんさん👩「電車でジジイと肌が触れた瞬間その皮膚が汚れてそこから壊死していく感覚になる」⬅10万いいね [343591364]
- 【速報】1位通過でモロッコ、2位通過でブラジルとの対戦が確定 [369521721]
- 青森で震度6強 [253992206]