Repository navigation
g1 region Young_Other_Time
wangkaiwu edited this page Feb 14, 2022
·
1 revision
class G1Analytics: public CHeapObj<mtGC> {
const static int TruncatedSeqLength = 10;
TruncatedSeq* _young_other_cost_per_region_ms_seq;
G1Analytics::G1Analytics(const G1Predictions* predictor) :
_young_other_cost_per_region_ms_seq(new TruncatedSeq(TruncatedSeqLength)){
}
};
double G1Analytics::predict_young_other_time_ms(size_t young_num) const {
return young_num * predict_zero_bounded(_young_other_cost_per_region_ms_seq);
}double G1Analytics::predict_zero_bounded(TruncatedSeq const* seq) const {
return _predictor->predict_zero_bounded(seq);
}class G1Predictions {
double predict_zero_bounded(TruncatedSeq const* seq) const {
return MAX2(predict(seq), 0.0);
}
};class G1Predictions {
double predict(TruncatedSeq const* seq) const {
return seq->davg() + _sigma * stddev_estimate(seq);
}
};class TruncatedSeq: public AbsSeq {
};
void TruncatedSeq::add(double val) {
AbsSeq::add(val);
}