Hello ! I modified a bit the program to somehow test sqlite/system performance at https://gist.github.com/mingodad/79225c88f8dce0f174f5 ,
now we can also specify a memory database and doing so on a mac mini i5 2/4 cores surprisingly memory database when shared with 4 threads is slower than disk database in the same conditions: Obs.: this tests measure sqlite3 code speed, memory/processor speed, the database has only one record. Cheers ! os x memory database 1 thread: Update rate: total=2082129, last_total=1951608, rate=130521, avg1=130521, avg2=130133 Update busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 os x disk database 1 thread: Update rate: total=1058748, last_total=992410, rate=66338, avg1=66338, avg2=66171 Update busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 os x memory database 4 threads: Update rate: total=1098811, last_total=1043760, rate=55051, avg1=13762, avg2=49945 Update busy rate: total=281, last_total=262, rate=19, avg1=4, avg2=12 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 os x disk database 4 threads: Update rate: total=1113712, last_total=1047747, rate=65965, avg1=16491, avg2=65512 Update busy rate: total=486, last_total=456, rate=30, avg1=7, avg2=28 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 ? linux celeron (1/2 cores) memory database 1 thread: Update rate: total=1092238, last_total=1007057, rate=85181, avg1=85181, avg2=84018 Update busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 linux celeron (1/2 cores) disk database 1 thread: Update rate: total=558004, last_total=518039, rate=39965, avg1=39965, avg2=39857 Update busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 linux celeron (1/2 cores) memory database 2 thread: Update rate: total=875095, last_total=793636, rate=81459, avg1=40729, avg2=79554 Update busy rate: total=106, last_total=97, rate=9, avg1=4, avg2=9 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 linux celeron (1/2 cores) disk database 2 threads: Update rate: total=522085, last_total=487100, rate=34985, avg1=17492, avg2=37291 Update busy rate: total=74, last_total=63, rate=11, avg1=5, avg2=5 Update failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read busy rate: total=0, last_total=0, rate=0, avg1=0, avg2=0 Read failed rate: total=0, last_total=0, rate=0, avg1=0, avg2=0