What are your performance pain points with Streamlit?

Hello Community :wave:

As 2020 comes to a close, we at Streamlit have been thinking about our roadmap for 2021! One of the items we are thinking about is Streamlit’s performance in terms of Speed. We want to hear from you about your pain points:

  • Have you experienced slowness in your app?
  • What were you trying to build in your app?
  • Which actions or functionality were causing slowness?
  • How did you try to fix it? Were any of the workarounds successful?

Please share your thoughts and experiences by commenting below. Thanks :slight_smile:

1 Like

Hello I have experienced some issues where streamlit keeps running (loading) infinitely. It seems to be linked to when a memory intensive function we have is run for a little while.

I haven’t been able to fix it, right now all we do is stop the streamlit server and restart it.

Please let us customize the look without using CSS styles. Like changing button color or shadows. THANKS!

It’s just too slow.
That’s it.
I love everything else about it.

Shaving seconds or even microseconds off of reloads would be amazing.

@st.cache is wonderful but there’s still a need for more speed.

In summary, my top 3 pain points are:

  • speed
  • speed
  • speed

Hello @joels, I remember I had this problem too when running Streamlit from Cmder in Windows, reloading would take like 5-10 seconds (now I run from Anaconda prompt without Git executable). Didn’t look further but suspected Streamlit would run Git commands now and then and those take seconds on my Cmder. Could you describe a bit more where exactly in your app lifecycle would the app slow down and on what infra are you running it?

Hi, I’m using v 0.72.0 on Windows 10 in Anaconda.

The main speed issue is working with tables. I use pandas a lot. Loading data is fine using @st.cache. It seems like the bottleneck is Streamlit formatting the HTML.

In some cases, like this morning, I’ll switch to st.text() so it displays faster but that also cuts off longer tables and values.

Any recommendations?