External data - current state of affairs

Update on the state of affairs:

We've encountered a couple JavaRosa bugs filed here preventing us from using external secondary instances.

Based on the docs I've read it sounds like external selects behave in effectively the same way as internal selects, thus would be expected to have similar performance, but according to benchmarks done by @dcbriccetti here it looks like external was much faster (at least prior to his performance improvements about a year ago).

I recently benchmarked internal selects to be significantly slower than his original measurements (at least up to several thousand items), though the time currently increases linearly rather than polynomially. A middling phone took 25 seconds to load only 1500 items. He didn't specify what device he used originally.

His original data (September 2017):

My current data (December 2018) based on Galaxy Nexus, Android 6.0, 1 GB RAM:

We're considering whether our client is going to need this to be improved; if so we'll pursue further. The next step would probably be to profile and figure out if there are bottlenecks or how else we can improve performance.

2 Likes