dash-core-components: Loading dropdown component with many items is slow

Similar to the issue described in #103, I am having trouble with the speed of very long dropdown lists (40k+ items). However, in my case it’s not the speed of searching the dropdown list (which has been solved in #103), it’s rather the time until the component is loaded dynamically.

Network issues should not be at play here, as everything is running locally.

Note the time between choosing to display the dropdown menu and the time until it actually shows up: peek 2019-01-20 16-52 (List with 100k items)

Minimal working example

minimal working example is here as a gist.

Dash versions

>conda env export | grep dash
- dash=0.35.1=py_0
- dash-core-components=0.42.0=py_0
- dash-html-components=0.13.4=py_0
- dash-renderer=0.16.1=py_0
- dash-table=3.1.11=py_0
- dash-bootstrap-components==0.3.0

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Comments: 16 (6 by maintainers)

Most upvoted comments

Just wondering… is there an alternative by now? This issue is basically the only thing preventing me to switch from Shiny to dash…

Hi, I am also facing performance issue with updating a dropdown with ~10k items. Has anyone solved this issue?

Have folks tried the “Dynamic Options” alternative mentioned in the Dropdown documentation? https://dash.plotly.com/dash-core-components/dropdown

This would be the recommended way forward when dealing with hundreds, thousands, or millions of options.

Also wondering if there is any update or alternative to this issue.

It wouldn’t usually be a problem, but my team has a Dash app integrated into flask app by following this guide (the last chapter, using WSGI) and the issue is that the fast parts of the front end are being loaded instantly, while Dropdown menu along with some other components loads after about 15-20 seconds.

I have tried removing the dropdown menu and rendering only other components, and such layout loads instantly.

For reference, the list which should be displayed in a dropdown menu has 12907 items.