From 19ce4f13c8567632b6322472b2a461ed343d05cd Mon Sep 17 00:00:00 2001 From: William Chargin Date: Thu, 20 Aug 2020 16:07:02 -0700 Subject: [PATCH] scalars: commit chart changes in batch (#4053) Summary: In #3524, we defined a batch API for chart updates to avoid useless paints that would be immediately overwritten. We now take further advantage of this API to only paint charts once all data has been loaded. Test Plan: On the hparams demo directory, this brings paint time (post-network) for four charts rendering 50 trials each down from about 8 seconds to under 1 second. wchargin-branch: scalars-batch-commit --- .../tf_line_chart_data_loader/tf-line-chart-data-loader.ts | 1 + .../scalar/polymer3/tf_scalar_dashboard/tf-scalar-card.ts | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorboard/components_polymer3/tf_line_chart_data_loader/tf-line-chart-data-loader.ts b/tensorboard/components_polymer3/tf_line_chart_data_loader/tf-line-chart-data-loader.ts index 449593da724..9941e53bd63 100644 --- a/tensorboard/components_polymer3/tf_line_chart_data_loader/tf-line-chart-data-loader.ts +++ b/tensorboard/components_polymer3/tf_line_chart_data_loader/tf-line-chart-data-loader.ts @@ -207,6 +207,7 @@ class _TfLineChartDataLoader _maybeRenderedInBadState: boolean = false; onLoadFinish() { + this.commitChanges(); if (this.dataToLoad.length > 0 && this._resetDomainOnNextLoad) { // (Don't unset _resetDomainOnNextLoad when we didn't // load any runs: this has the effect that if all our diff --git a/tensorboard/plugins/scalar/polymer3/tf_scalar_dashboard/tf-scalar-card.ts b/tensorboard/plugins/scalar/polymer3/tf_scalar_dashboard/tf-scalar-card.ts index 8cdabc254a0..70921fa70ef 100644 --- a/tensorboard/plugins/scalar/polymer3/tf_scalar_dashboard/tf-scalar-card.ts +++ b/tensorboard/plugins/scalar/polymer3/tf_scalar_dashboard/tf-scalar-card.ts @@ -238,7 +238,6 @@ export class TfScalarCard extends PolymerElement { const name = this._getSeriesNameFromDatum(item); scalarChart.setSeriesMetadata(name, item); scalarChart.setSeriesData(name, formattedData); - scalarChart.commitChanges(); }; @property({type: Object})