I’m experiencing a significant performance regression (more than 2x slower) when moving from v38 of Dash to the recently released v39. I have a fairly large dashboard (that’s admittedly grown a bit out of control, as it makes ~350 HTTP requests to fully load), that’s currently deployed using Python v3.7.2, Gunicorn v19.9.0 (with 8 workers), Flask v1.0.2, Nginx (using HTTP v2) for basic auth and TLS termination, and the following Dash dependencies:
dash 0.38.0 dash-core-components 0.43.1 dash-html-components 0.13.5 dash-renderer 0.19.0 dash-table 3.5.0
And the page reliably takes about 27 seconds to load in full, as measured using Chrome v72.0.3626.121.
When doing nothing other than move to the following Dash dependencies:
dash 0.39.0 dash-core-components 0.44.0 dash-html-components 0.14.0 dash-renderer 0.20.0 dash-table 3.6.0
The page repeatably takes about 66 seconds to load in full, which is nearly 2.5x times worse.
Admittedly, I can refactor the application significantly to make use of the new multiple outputs feature in Dash v39, which will significantly reduce the number of requests the dashboard makes when loading, but I haven’t explored how this affects performance yet. Is anyone else seeing this kind of performance degradation?