-
Notifications
You must be signed in to change notification settings - Fork 844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Large OptionList
widgets are slow to load (since 0.86.0)
#5498
Comments
Previous iteration of the OptionList were lazy in calculating dimensions, which cause all sorts of flakiness. Now it does more work up-front. I suspect the timings look better in older versions because it is exiting before that lazy work is done. It takes 6.45s on my machine currently with a feature branch that should speed up rendering. The OptionList is also due for a re-write. Closing this for now, will revisit after these changes are in. |
Don't forget to star the repository! Follow @textualizeio for Textual updates. |
@willmcgugan Can I ask which feature branch so I can give it a go? That's quite a difference, though I suspect my old Thinkpad won’t keep up with your machine! |
It's in main now |
Ah, that's what I feared. It takes ~16s on main on my machine, so actually 3s longer than before. |
Thanks for reopening this issue. That's quite an impressive difference on the new option list branch (currently down to 1.27s on my machine)! |
It's a wee bit faster now! |
Closed by #5510. |
Don't forget to star the repository! Follow @textualizeio for Textual updates. |
I've noticed that
OptionList
widgets with a large number of options take significantly longer to load since Textual 0.86.0.The example below is an extreme scenario, but it demonstrates the difference in loading times.
Textual 0.85.2:
Loading OptionList with 10,000 options took 4.02s
Textual 0.86.0:
Loading OptionList with 10,000 options took 9.17s
Textual 1.0.0:
Loading OptionList with 10,000 options took 13.28s
The text was updated successfully, but these errors were encountered: