[Galaxy Tab Pro 12.2, 10.1, 8.4 General] thdervenis:
Sqlite db operations: receive and write 20,000 records in a batch

Triggered by crpalmer's comments I 've compiled the following benchmarks of the application that I participate as a developer. I 've compiled them after hours at work on my personal tablet (SM-T320).

The application I am developing is an ERP & CRM companion app for my company's BackOffice ERP & CRM application systems. It downloads packets of JSON formatted data (usually 2,000 records a batch) and stores them locally in an Sqlite db. The data downloaded can easily exceed 300,000 records in over 150 Sqlite tables.

In order to achieve "optimal" conditions for benchmarking I did the following

The benchmarks were performed after hours, when the company's personnel had left and network resources were unused (I performed them on our Intranet).

The company's SQL Servers that provide the data were not used by any other but me.

I configured the app to download just 1 table (not 150+ tables) so as to minimize network calls per table to download the data.

I configured the app to download 20,000 records in a batch (not 10 calls of 2,000 records so as to minimize network calls per table) and insert them in Sqlite.

It took me about 1.5 hours, flashing and reflashing, performing the tests. I did the test for only 20,000 in a batch because if I had done it for the whole dataset it would take me about 30 minutes a try.

As you can see bellow TouchWiz outperforms CM11 consistently by 10 seconds for a 2 min to 3 min operation. Keep in mind that the actual business operation of the app is to do multiple calls over the network downloading and inserting 2,000 to 2,500 records in a batch, a full fetch cycle includes over 120 network/Sqlite batch insert calls. In a full process cycle this may take 30 mins, TouchWiz outperfoms CM11 by about a noticeable 5 - 7 minutes (~17% faster). I 've have stamped up on the delay consistently over the past 4 months that I own the tablet and pin pointed it on Sqlite operations, not on network conditions.

TouchWiz (KOT49H.T320XXU1BNI1) (clean flashed, no accounts, no updates, no apps, only WiFi setted)

1st try: 2 mins and 48 secs

2nd try: 2 mins and 31 secs (no app reopen)

3rd try: 2 mins and 31 secs (no app reopen)

4th try: 2 mins and 30 secs (no app reopen)

5th try: 2 mins and 30 secs (no app reopen)

CM11 (M12) (clean flashed, no accounts, no apps, only WiFi setted)

1st try: 3 minutes and 2 seconds

2nd try: 2 minutes and 42 seconds (no app reopen)

3rd try: 2 minutes and 41 seconds (no app reopen)

4th try: 2 minutes and 41 seconds (no app reopen)

5th try: 2 minutes and 43 seconds (no app reopen)

Bellow are the instructions on how to use it and get a glimpse of what I did.

Sorry crpalmer, I cannot give you a version of the app to perform the test I did, I would have to go to the legal department of my company to get clearance, I don't want to do that for my personal tablet. Also the "demo" user that I am posting bellow (it is the publicly available login that we encourage our customers to use so as to demonstrate our app) downloads a small set of data (not actual full work load data), usually done in 2 to 3 mins, so the difference between the two ROMs may not be noticeable or depended on network conditions.

Here is the link to the app on Google Play http://goo.gl/JTd3SR . Make sure your tablet in in English (or if it's in another language it will default to Greek)

Login using "demo" as both username and password.

Press the first option labeled "Company Selection"

Let it finish until it shows a toast "Work area changed ..."

Press back and press back again.

It will start downloading data. (it 'll take a 2 to 3 mins)

Press the "Refresh" button on the main screen and select the 3rd option labeled "Get All" and press ok. I did this final step five times in order to benchmark it..

I am not passing a judgement on CM11 or TouchWiz, just my personal experience on my device on the General Discussion section, hoping someone will also share their expreriences. I know that full professional benchmarking is not what I did.