Skip to content

g1 region Young_Other_Time

wangkaiwu edited this page Feb 14, 2022 · 1 revision

young other time

predict_young_other_time_ms

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);
    }
};

_young_other_cost_per_region_ms_seq 赋值

class TruncatedSeq: public AbsSeq {
    
};
void TruncatedSeq::add(double val) {
    AbsSeq::add(val);
}

add 方法

Clone this wiki locally