読者です 読者をやめる 読者になる 読者になる

機械学習を利用して長生きのオブジェクトを見つける - GC Advent Calendar

Garbage Collection Advent Calendarの15日目の記事です。

世代別GCでは(大抵)新世代で何度か生き残ったオブジェクトは「長生き」とみなして旧世代に移動します。
でも、このオブジェクトは長生きっぽい、ということがプログラムを解析することでわかるとしたらどうでしょう?
もしわかるなら、オブジェクトを割り当てるときに最初から旧世代にわりあてることができますよね(Pretenuringとか言うらしいですけど)。

Decrypting the Java gene pool

GilとMamanらの研究によって得られたJavaの29個の異なるmicro-petternを利用。
大きめのJavaプログラムを実際に動かして、機械学習によってパターンが示すアロケーション位置と、その位置で割り当てられたオブジェクトの寿命の傾向を記録。
その傾向をもとに、オブジェクトが長生きっぽいものを検知するみたい。

私も読んでてよくわからなかったので、興味がある人は実際の論文をあたってください。