Data App Performance Tests
My hypothesis is that
The different architectures of Dash, Panel and Streamlit makes a difference if you want to create snappy applications.
Framework | Server | Communication Protocol | Built in state | Update cycle |
---|---|---|---|---|
Dash | Flask | http | No | Specific code reruns and UI updates |
Panel | Tornado | web sockets | Yes, Automatic | Specific code reruns and UI updates |
Streamlit | Tornado | web sockets | Yes, Manual | Rerun script top to bottom with caching |
I want to test that hypothesis and elaborate on it.
Test Setup
In order to fairly and reproducibly compare the frameworks I will pin requirements as much as possible and run in Docker.
Docker
You can build with
docker build -f "Dockerfile" -t