You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] dcc.Dropdown in dash 4.0.0 is considerably slower than before #3616
I have a dash app with dcc.Dropdown with thousands of options (around 8000). In dash 3.4.0 the dropdown works amazingly (e.g. beating dmc.Select by a margin in speed). In dash 4.0.0, the performance degraded considerably.
Here is a minimal app to simulate the issue:
import random
import string
import dash
# Generate 8000 random options
def random_string(length=8):
return ''.join(random.choices(string.ascii_letters + string.digits, k=length))
options_list = [
{"label": f"Option {i} - {random_string()}", "value": f"value_{i}"}
for i in range(8000)
]
app = dash.Dash(__name__)
app.layout = dash.dcc.Dropdown(
id="my-dropdown",
options=options_list,
placeholder="Select an option",
searchable=True
)
if __name__ == "__main__":
app.run(debug=True, host="127.0.0.1", port="8050")
For the two versions, try typing "78" to obtain filtered options and then deleting the search string to obtain the full list of options and compare the timing.
I understand that this many options may be stretching the limits a bit (and I know it would be better to only show a subset in most cases). Nevertheless, it would be nice to keep the previously achieved performance :-)
Finally, let me appreciate the new styling (of the dropdown) in dash 4.0.0!
+1, also still seeing this issue in 4.1.0. With version 3.3.0 it performed very fast. I currently have 4000 options, each option is a string with ~200 chars.
I ran some tests:
With 1000 options it is already very laggy.
random 5 char strings per option and 4000 options --> very fast
Activity
BSd3v commentedon Feb 21, 2026
I'm wondering if it's related to the use of memo here:
https://github.com/plotly/dash/blob/dev/components/dash-core-components/src/fragments/Dropdown.tsx#L59-L67
ColinGeukes commentedon Mar 9, 2026
I am experiencing the same issue, the load takes too long, without any indication something is happening in the background
ggydush commentedon May 4, 2026
+1, also seeing this issue persisting on 4.1. I have 70k options that performs great on 3.4, but lags considerably on 4.1.0
dudechem-rf commentedon May 7, 2026
+1, also still seeing this issue in 4.1.0. With version 3.3.0 it performed very fast. I currently have 4000 options, each option is a string with ~200 chars.
I ran some tests:
With 1000 options it is already very laggy.
random 5 char strings per option and 4000 options --> very fast