大きな値,例えば200をセットする.これはある時点でのGC完了後に到達可能であったあったオブジェクトのサイズよりも200%,つまり3倍のヒープサイズが消費されたら次のGCを実行するという意味である.つまりGCの実行を遅らせることができる.RAMに余裕がありGCに使われる合計時間を減らしたい(スループットを向上させたい)場合は大きな値を設定する..次により小さな値を設定するとGCの実行間隔が短くなる.メモリの使用量を少なくしたい場合は小さな値を設定する(offを設定するとGCは実行されなくなる).GoのGCはハードウェアの進化が考慮されているのであった.もしハードウェアが進化してRAMの容量が2倍なったらどうするか.GOGCの値を2倍にすればGCのサイクルを半分にすることができ,チューニングなしでアプリケーションを簡単にスケールさせることができる.まとめGoのGCの変更について追ってみた.追ってみて他の言語と比べてもシンプルなGCが実装されているなあと感じた.そのためアルゴリズムなどを理解するのは容易だった.シンプルさの思想がGCにもあるのは良いなあと感じた.GCにはレイテンシやスループット以外にも解決するべき問題がある.例えばGoの場合は断片化の問題などは考慮されていない.今後その他の問題にどのように対処していくのかも楽しみになった.TweetHome。