Commits

Vasu Nori authored 627b331b32c
add new param to device config properties: db connection pool size connection pool = number of database connections opened when the app opens a database. These pooled connections are used by readers only and they use the sqlite write-ahead-logging option to increase reader concurrency. The size of this connection pool depends on the number of CPUs, RAM etc. On most single-core devices, this can be set to 1. But on some multi-core devices with more RAM, pool size can be more than 1. On a device with more resources, here are the results of a test (in coretests/src/android/database/sqlite/SQLiteDatabaseTest.java) which measures the reader-parallelism achieved for different connection pool sizes. connpool-size = 1 num xacts by writer = 467 num-reads-in-xact/NOT-in-xact by reader1 = 1358/14542, by reader2 = 1431/14269 connpool-size = 2 num xacts by writer = 473 num-reads-in-xact/NOT-in-xact by reader1 = 5703/35227, by reader2 = 6222/35898 connpool-size = 3 num xacts by writer = 542 num-reads-in-xact/NOT-in-xact by reader1 = 6531/32329, by reader2 = 6252/32728 connpool-size = 4 num xacts by writer = 578 num-reads-in-xact/NOT-in-xact by reader1 = 6009/32701, by reader2 = 5977/32953 connpool-size = 5 num xacts by writer = 547 num-reads-in-xact/NOT-in-xact by reader1 = 6554/31186, by reader2 = 5318/31022 connpool-size = 6 num xacts by writer = 534 num-reads-in-xact/NOT-in-xact by reader1 = 5317/31463, by reader2 = 5413/31537 connpool-size = 7 num xacts by writer = 549 num-reads-in-xact/NOT-in-xact by reader1 = 5396/28004, by reader2 = 5214/28496 seems like connection pool size of 3 is optimal on this device. Change-Id: I348ff5a31783c31b5e3e5ac78b7c2cea54ef114a