I’m a bit of a late comer to the native mobile testing scene, but I’ve recently done a bit of informal benchmarking and wanted to share some results and ask a question.
I’m using the API Connector to retrieve a list of 10,000 items from a public API endpoint. The total payload size is ~3MB, and it’s being served from a caching layer - i.e. it’s fast.
For reference, when the call is made directly from a browser (not going through Bubble’s servers), it typically takes well under a second to receive the entire payload and another fraction of a second for Bubble to “process” the data and start rendering it to a RG such that the total elapsed time between initiating the call and the data appearing on screen is typically around one to one and a half seconds. (It’s also worth noting that the Safari mobile browser on iOS usually outperforms desktop browsers - even on an older iPhone.)
Native Mobile
For comparison, following are the results of my native mobile testing where only the first 10 of the 10,000 items are actually being displayed in the UI element.
UI Element | Context | Render Lag |
---|---|---|
ShortList | Browser Preview | 2-3 sec |
ShortList | BubbleGo | 5-7 sec |
SelectableList | Browser Preview | 46-48 sec |
SelectableList | BubbleGo | crash after ~20 sec |
Needless to say, the SelectableList performance is abysmal. Just curious if this is representative of what we can expect in the deployed app.
I realize 10K is a lot of items, but only 10 are actually being displayed, and 3MB is not a huge payload by today’s standards.
-Steve