Skip to content

Instantly share code, notes, and snippets.

@FooBarWidget
Created September 12, 2010 20:12
Show Gist options
  • Save FooBarWidget/576397 to your computer and use it in GitHub Desktop.
Save FooBarWidget/576397 to your computer and use it in GitHub Desktop.
Ruby 1.8.7
September 12, 2010
Original driver (1.0.8)
Test (real) (real ops/s) (user) (user ops/s)
insert (small, no index)................ 0.88 5662 0.77 6493
insert (medium, no index)............... 1.48 3388 0.99 5050
insert (large, no index)................ 8.47 590 8.14 614
insert (small, index)................... 0.87 5759 0.77 6493
insert (medium, index).................. 1.12 4482 1.04 4807
insert (large, index)................... 8.65 578 8.26 605
insert batch (small, index)............. 0.46 10942 0.45 11111
insert batch (medium, index)............ 0.88 5687 0.88 5681
insert batch (large, index)............. 27.53 181 26.95 185
find_one (small, no index).............. 7.59 658 1.61 3105
find_one (medium, no index)............. 8.44 592 1.73 2890
find_one (large, no index).............. 13.14 380 5.55 900
find_one (small, indexed)............... 2.31 2165 1.57 3184
find_one (medium, indexed).............. 2.45 2040 1.71 2923
find_one (large, indexed)............... 6.13 815 5.40 925
find (small, no index).................. 12.83 389 1.58 3164
find (medium, no index)................. 14.88 335 1.74 2873
find (large, no index).................. 21.68 230 5.75 869
find (small, indexed)................... 2.24 2231 1.56 3205
find (medium, indexed).................. 2.37 2112 1.68 2976
find (large, indexed)................... 6.09 821 5.39 927
find_range (small, indexed)............. 37.50 133 32.12 155
find_range (medium, indexed)............ 50.14 99 44.15 113
find_range (large, indexed)............. 452.75 11 420.98 11
Ruby 1.8.7
September 12, 2010
After original optimizations
Test (real) (real ops/s) (user) (user ops/s)
insert (small, no index)................ 0.71 7021 0.59 8474
insert (medium, no index)............... 1.14 4392 0.87 5747
insert (large, no index)................ 15.67 319 15.33 326
insert (small, index)................... 0.66 7554 0.59 8474
insert (medium, index).................. 0.93 5399 0.85 5882
insert (large, index)................... 15.62 320 15.34 325
insert batch (small, index)............. 0.18 27898 0.16 31249
insert batch (medium, index)............ 0.43 11515 0.42 11904
insert batch (large, index)............. 15.50 322 14.90 335
find_one (small, no index).............. 6.90 724 0.94 5319
find_one (medium, no index)............. 7.64 654 0.96 5208
find_one (large, no index).............. 9.48 527 1.82 2747
find_one (small, indexed)............... 1.58 3173 0.90 5555
find_one (medium, indexed).............. 1.62 3088 0.94 5319
find_one (large, indexed)............... 2.37 2109 1.66 3012
find (small, no index).................. 12.08 413 0.86 5813
find (medium, no index)................. 14.08 355 1.00 5000
find (large, no index).................. 17.76 281 2.05 2439
find (small, indexed)................... 1.43 3493 0.81 6172
find (medium, indexed).................. 1.56 3202 0.92 5434
find (large, indexed)................... 2.32 2158 1.66 3012
find_range (small, indexed)............. 14.72 339 12.66 394
find_range (medium, indexed)............ 19.21 260 16.88 296
find_range (large, indexed)............. 103.16 48 91.04 54
After fixing some more ByteBuffer usage
5000 documents or queries per trial. Batches of 100 on batch inserts.
Test (real) (real ops/s) (user) (user ops/s)
insert (small, no index)................ 0.60 8355 0.52 9615
insert (medium, no index)............... 1.71 2918 0.54 9259
insert (large, no index)................ 2.68 1868 2.49 2008
insert (small, index)................... 0.69 7248 0.52 9615
insert (medium, index).................. 0.69 7271 0.55 9090
insert (large, index)................... 2.67 1871 2.51 1992
insert batch (small, index)............. 0.09 58594 0.08 62500
insert batch (medium, index)............ 0.11 45958 0.11 45454
insert batch (large, index)............. 2.20 2277 2.09 2392
find_one (small, no index).............. 6.90 724 0.93 5376
find_one (medium, no index)............. 7.94 629 0.97 5154
find_one (large, no index).............. 9.39 532 1.81 2762
find_one (small, indexed)............... 1.59 3137 0.90 5555
find_one (medium, indexed).............. 1.64 3050 0.94 5319
find_one (large, indexed)............... 2.41 2076 1.68 2976
find (small, no index).................. 12.50 399 0.91 5494
find (medium, no index)................. 14.35 348 1.03 4854
find (large, no index).................. 18.08 276 2.06 2427
find (small, indexed)................... 1.45 3458 0.82 6097
find (medium, indexed).................. 1.58 3172 0.93 5376
find (large, indexed)................... 2.34 2132 1.67 2994
find_range (small, indexed)............. 14.81 337 12.70 393
find_range (medium, indexed)............ 19.13 261 16.84 296
find_range (large, indexed)............. 101.80 49 90.62 55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment