8245812: Shenandoah: compute root phase parallelism

Reviewed-by: zgu
This commit is contained in:
Aleksey Shipilev 2020-05-27 09:22:24 +02:00
parent bc669dfc82
commit d0294c3845

@ -37,6 +37,7 @@
#define SHENANDOAH_S_TIME_FORMAT "%8.3lf"
#define SHENANDOAH_US_TIME_FORMAT "%8.0lf"
#define SHENANDOAH_US_WORKER_TIME_FORMAT "%3.0lf"
#define SHENANDOAH_PARALLELISM_FORMAT "%4.2lf"
#define SHENANDOAH_PHASE_DECLARE_NAME(type, title) \
title,
@ -229,6 +230,14 @@ void ShenandoahPhaseTimings::print_cycle_on(outputStream* out) const {
double v = _cycle_data[i] * 1000000.0;
if (v > 0) {
out->print(SHENANDOAH_PHASE_NAME_FORMAT " " SHENANDOAH_US_TIME_FORMAT " us", _phase_names[i], v);
if (is_worker_phase(Phase(i))) {
double total = _cycle_data[i + 1] * 1000000.0;
if (total > 0) {
out->print(", parallelism: " SHENANDOAH_PARALLELISM_FORMAT "x", total / v);
}
}
if (_worker_data[i] != NULL) {
out->print(", workers (us): ");
for (uint c = 0; c < _max_workers; c++) {