TruncatedSeq _concurrent_refine_rate_ms_seq;
TruncatedSeq _dirtied_cards_rate_ms_seq;
TruncatedSeq _dirtied_cards_in_thread_buffers_seq; // The ratio between the number of scanned cards and actually merged cards, for // young-only and mixed gcs.
G1PhaseDependentSeq _card_scan_to_merge_ratio_seq;
// The cost to scan a card during young-only and mixed gcs in ms.
G1PhaseDependentSeq _cost_per_card_scan_ms_seq; // The cost to merge a card during young-only and mixed gcs in ms.
G1PhaseDependentSeq _cost_per_card_merge_ms_seq; // The cost to copy a byte in ms.
G1PhaseDependentSeq _cost_per_byte_copied_ms_seq;
// Statistics kept per GC stoppage, pause or full.
TruncatedSeq _recent_prev_end_times_for_all_gcs_sec;
// Cached values for long and short term pause time ratios. See // compute_pause_time_ratios() for how they are computed. double _long_term_pause_time_ratio; double _short_term_pause_time_ratio;
// Returns whether the sequence have enough samples to get a "good" prediction. // The constant used is random but "small". staticbool enough_samples_available(TruncatedSeq const* seq);
// Predict how many of the given remembered set of length rs_length will add to // the number of total cards scanned.
size_t predict_scan_card_num(size_t rs_length, bool for_young_only_phase) const;
// Add a new GC of the given duration and end time to the record. void update_recent_gc_times(double end_time_sec, double elapsed_ms); void compute_pause_time_ratios(double end_time_sec, double pause_time_ms);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.