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
Poor Map Performance/Usability for 100k+ data points #2569
Comments
Hi @neibla -- Thanks for providing the side-by-side comparison! We are (unfortunately) aware of the performance issue around large datasets and that's why we're forging ahead with a conversion of our bespoke dataframe handling into the use of Arrow. Look for that upgrade to hit Streamlit sometime in the next ~2 months. I'm adding your user story into the product database for charts and performance -- thanks again for the code, it's really helpful! |
@kantuni Is it true that Arrow will improve performance for maps as well? |
The Arrow serialization is used for most of the charts, but not for |
@kantuni thanks for that, I just tried out 1.0 and it looks pretty smooth with that demo project now! |
@kantuni @nthmost - chiming in here to say that for me, using a pydeck chart is still significantly slower in the frontend with This is slow (but preserves view state when re-rendering): This is fast: Code:
|
@hayk-skydio I found your solution does generally work - but found that when using a GeoJsonLayer - that there is an issue when |
Summary
With v0.73.1 of Streamlit the pydeck integration has significant performance issues for large datasets compared to jupyter + pydeck integration.
Steps to reproduce
Compare the scroll performance/usability of the map component with jupyter
https://github.com/neibla/streamlit-map-performance-comparison/blob/master/comparison.ipynb
vs Streamlit
https://github.com/neibla/streamlit-map-performance-comparison/blob/master/app.py
Expected behavior:
I'd expect the performance to be similar for at least 100k points
Actual behavior:
Map component unusable with Streamlit for 100k points
Is this a regression?
That is, did this use to work the way you expected in the past?
No, encountered since at least v0.5
Debug info
Additional information
Created a repo comparing the base cases.
https://github.com/neibla/streamlit-map-performance-comparison
The text was updated successfully, but these errors were encountered: