* Add Index-free benchmarks
* Add BackgroundQueue
Port of firebase/firebase-android-sdk#559
* Decode documents in background threads to improve performance
Run on (12 X 2900 MHz CPU s)
CPU Caches:
L1 Data 32K (x6)
L1 Instruction 32K (x6)
L2 Unified 262K (x6)
L3 Unified 12582K (x1)
Load Average: 2.24, 2.18, 1.96
----------------------------------------------------------------------------------
Benchmark Time CPU Iterations Improvement
----------------------------------------------------------------------------------
BM_QueryMatching/0/1 132 us 12.7 us 53524 21.4%
BM_QueryMatching/1/1 150 us 18.1 us 37305 16.2%
BM_QueryMatching/1/10 371 us 27.6 us 10000 48.5%
BM_QueryMatching/10/10 429 us 64.3 us 11349 41.0%
BM_QueryMatching/1/100 2573 us 29.0 us 1000 51.7% (max)
BM_QueryMatching/100/100 3123 us 416 us 1000 45.5%
BM_QueryMatching/1/1000 26785 us 33.5 us 100 50.5%
BM_QueryMatching/10/1000 28389 us 74.5 us 100 48.0%
BM_QueryMatching/100/1000 27883 us 470 us 100 49.4%
BM_QueryMatching/1000/1000 32189 us 34.3 us 100 44.8%
BM_QueryAll/1 151 us 15.2 us 45385 -49.5% (min)
BM_QueryAll/10 444 us 60.7 us 12829 32.5%
BM_QueryAll/100 3175 us 414 us 1000 45.1%
BM_QueryAll/1000 30222 us 18.8 us 100 49.7%
Mean 35.3%
* Insert into a vector to reduce contention
Run on (12 X 2900 MHz CPU s)
CPU Caches:
L1 Data 32K (x6)
L1 Instruction 32K (x6)
L2 Unified 262K (x6)
L3 Unified 12582K (x1)
Load Average: 1.43, 2.10, 1.98
----------------------------------------------------------------------------------
Benchmark Time CPU Iterations Improvement
----------------------------------------------------------------------------------
BM_QueryMatching/0/1 127 us 12.2 us 56131 3.8%
BM_QueryMatching/1/1 142 us 16.6 us 39200 5.3%
BM_QueryMatching/1/10 369 us 26.6 us 10000 0.5%
BM_QueryMatching/10/10 425 us 59.2 us 12724 0.9%
BM_QueryMatching/1/100 2194 us 28.9 us 10000 14.7%
BM_QueryMatching/100/100 2765 us 405 us 1000 11.5%
BM_QueryMatching/1/1000 21095 us 32.8 us 1000 21.2%
BM_QueryMatching/10/1000 20797 us 66.4 us 1000 26.7% (max)
BM_QueryMatching/100/1000 21915 us 408 us 1000 21.4%
BM_QueryMatching/1000/1000 23700 us 30.9 us 1000 26.4%
BM_QueryAll/1 136 us 14.3 us 44799 9.9%
BM_QueryAll/10 443 us 57.3 us 10000 0.2% (min)
BM_QueryAll/100 2607 us 389 us 1000 17.9%
BM_QueryAll/1000 23512 us 19.4 us 1000 22.2%
Mean 13.1%