mcmire-cache 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. data/.gitignore +7 -0
  2. data/CHANGELOG +21 -0
  3. data/Gemfile +22 -0
  4. data/README.md +229 -0
  5. data/Rakefile +41 -0
  6. data/benchmarks/afterrefactor.txt +86 -0
  7. data/benchmarks/midrefactor.txt +89 -0
  8. data/benchmarks/v0.0.2.txt +95 -0
  9. data/benchmarks/v0.0.3.txt +96 -0
  10. data/benchmarks/v0.1.2.txt +94 -0
  11. data/benchmarks/v0.2.1.txt +94 -0
  12. data/benchmarks/v0.2.2.txt +94 -0
  13. data/lib/cache.rb +233 -0
  14. data/lib/cache/active_support_cache_dalli_store.rb +15 -0
  15. data/lib/cache/active_support_cache_file_store.rb +11 -0
  16. data/lib/cache/active_support_cache_memory_store.rb +11 -0
  17. data/lib/cache/active_support_cache_store.rb +37 -0
  18. data/lib/cache/config.rb +27 -0
  19. data/lib/cache/dalli_client.rb +54 -0
  20. data/lib/cache/mem_cache.rb +46 -0
  21. data/lib/cache/memcached.rb +54 -0
  22. data/lib/cache/memcached_rails.rb +34 -0
  23. data/lib/cache/nothing.rb +20 -0
  24. data/lib/cache/redis.rb +44 -0
  25. data/lib/cache/redis_namespace.rb +7 -0
  26. data/lib/cache/version.rb +3 -0
  27. data/mcmire-cache.gemspec +22 -0
  28. data/test/helper.rb +29 -0
  29. data/test/profile/benchmark.rb +258 -0
  30. data/test/shared_tests.rb +169 -0
  31. data/test/test_active_support_cache_dalli_store.rb +77 -0
  32. data/test/test_active_support_cache_file_store.rb +19 -0
  33. data/test/test_active_support_cache_memory_store.rb +12 -0
  34. data/test/test_dalli_client.rb +70 -0
  35. data/test/test_mem_cache.rb +64 -0
  36. data/test/test_memcached.rb +64 -0
  37. data/test/test_memcached_rails.rb +61 -0
  38. data/test/test_memcached_with_binary.rb +17 -0
  39. data/test/test_missing_driver.rb +16 -0
  40. data/test/test_nothing.rb +147 -0
  41. data/test/test_redis.rb +60 -0
  42. data/test/test_redis_namespace.rb +64 -0
  43. metadata +108 -0
@@ -0,0 +1,95 @@
1
+ # sabshere 2/22/11 v0.0.2
2
+
3
+ Darwin vidalia 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
4
+ ruby 1.8.7 (2010-05-25 patchlevel 266) [i686-darwin9.8.0]
5
+ RUBY_VERSION=ruby-1.8.7-head
6
+ Ruby 1.8.7p266
7
+ Loaded memcached 1.0.6
8
+ Loaded remix-stash 1.1.3
9
+ Loaded memcache-client 1.8.5
10
+ Loaded cache 0.0.2
11
+ Loaded kgio 2.3.2
12
+ Loaded dalli 1.0.2
13
+ Loops is 20000
14
+ Stack depth is 0
15
+ Small value size is: 13 bytes
16
+ Large value size is: 4158 bytes
17
+ No matching processes belonging to you were found
18
+ user system total real
19
+ set: cache:dalli:bin 6.340000 1.880000 8.220000 ( 10.948888)
20
+ set: cache:libm:bin 5.730000 1.530000 7.260000 ( 10.640067)
21
+ set: dalli:bin 5.580000 1.860000 7.440000 ( 10.092303)
22
+ set: libm:ascii 0.840000 1.290000 2.130000 ( 5.445700)
23
+ set: libm:ascii:pipeline 0.340000 0.020000 0.360000 ( 0.362669)
24
+ set: libm:ascii:udp 0.710000 0.710000 1.420000 ( 3.642532)
25
+ set: libm:bin 0.710000 1.320000 2.030000 ( 5.339189)
26
+ set: libm:bin:buffer 0.300000 0.110000 0.410000 ( 1.107518)
27
+ set: mclient:ascii 10.700000 3.670000 14.370000 ( 14.945212)
28
+ set: stash:bin 3.710000 1.370000 5.080000 ( 8.162312)
29
+
30
+ get: cache:dalli:bin 6.820000 2.080000 8.900000 ( 11.412364)
31
+ get: cache:libm:bin 5.670000 1.490000 7.160000 ( 10.392625)
32
+ get: dalli:bin 5.840000 2.090000 7.930000 ( 10.308551)
33
+ get: libm:ascii 0.970000 1.310000 2.280000 ( 5.562719)
34
+ get: libm:ascii:pipeline 1.060000 1.620000 2.680000 ( 5.881988)
35
+ get: libm:ascii:udp 0.820000 0.720000 1.540000 ( 3.585481)
36
+ get: libm:bin 0.810000 1.330000 2.140000 ( 5.310565)
37
+ get: libm:bin:buffer 0.940000 1.630000 2.570000 ( 5.677996)
38
+ get: mclient:ascii 12.680000 3.690000 16.370000 ( 16.930786)
39
+ get: stash:bin 3.390000 1.370000 4.760000 ( 7.658067)
40
+
41
+ delete: cache:dalli:bin 6.190000 2.080000 8.270000 ( 10.697357)
42
+ delete: cache:libm:bin 6.080000 1.580000 7.660000 ( 10.938304)
43
+ delete: dalli:bin 5.190000 2.080000 7.270000 ( 9.694417)
44
+ delete: libm:ascii 1.790000 1.400000 3.190000 ( 6.452993)
45
+ delete: libm:ascii:pipeline 0.550000 0.620000 1.170000 ( 1.226934)
46
+ delete: libm:ascii:udp 1.620000 0.870000 2.490000 ( 4.440414)
47
+ delete: libm:bin 1.720000 1.400000 3.120000 ( 6.322207)
48
+ delete: libm:bin:buffer 0.460000 0.520000 0.980000 ( 1.651911)
49
+ delete: mclient:ascii 10.610000 3.700000 14.310000 ( 14.815498)
50
+ delete:stash:bin => #<NoMethodError: undefined method `delete' for #<Remix::Stash:0x122e984>>
51
+
52
+ get-missing: cache:dalli:bin 6.300000 2.110000 8.410000 ( 10.962403)
53
+ get-missing: cache:libm:bin 7.090000 1.780000 8.870000 ( 12.435441)
54
+ get-missing: dalli:bin 5.730000 2.260000 7.990000 ( 10.758698)
55
+ get-missing: libm:ascii 2.070000 1.550000 3.620000 ( 7.211442)
56
+ get-missing: libm:ascii:pipeline 2.190000 1.920000 4.110000 ( 7.549889)
57
+ get-missing: libm:ascii:udp 1.820000 0.930000 2.750000 ( 4.887171)
58
+ get-missing: libm:bin 1.990000 1.510000 3.500000 ( 6.837518)
59
+ get-missing: libm:bin:buffer 2.050000 1.830000 3.880000 ( 7.134244)
60
+ get-missing: mclient:ascii 11.160000 3.790000 14.950000 ( 15.550381)
61
+ get-missing: stash:bin 3.240000 1.390000 4.630000 ( 7.602964)
62
+
63
+ set-large: cache:dalli:bin 8.160000 2.010000 10.170000 ( 13.146422)
64
+ set-large: cache:libm:bin 6.490000 1.610000 8.100000 ( 11.726796)
65
+ set-large: dalli:bin 7.490000 2.030000 9.520000 ( 12.402519)
66
+ set-large: libm:ascii 0.920000 1.400000 2.320000 ( 5.925636)
67
+ set-large: libm:ascii:pipeline 0.630000 0.450000 1.080000 ( 1.246708)
68
+ set-large: libm:ascii:udp 0.790000 0.820000 1.610000 ( 4.095793)
69
+ set-large: libm:bin 0.810000 1.440000 2.250000 ( 5.770076)
70
+ set-large: libm:bin:buffer 0.570000 0.640000 1.210000 ( 2.286722)
71
+ set-large: mclient:ascii 11.940000 3.910000 15.850000 ( 17.592266)
72
+ set-large: stash:bin 6.250000 1.510000 7.760000 ( 13.191809)
73
+
74
+ get-large: cache:dalli:bin 8.320000 2.460000 10.780000 ( 13.958967)
75
+ get-large: cache:libm:bin 10.740000 1.760000 12.500000 ( 16.610462)
76
+ get-large: dalli:bin 7.270000 2.460000 9.730000 ( 12.867557)
77
+ get-large: libm:ascii 1.590000 1.540000 3.130000 ( 7.126347)
78
+ get-large: libm:ascii:pipeline 1.700000 1.900000 3.600000 ( 7.440423)
79
+ get-large: libm:ascii:udp 1.420000 0.950000 2.370000 ( 4.683143)
80
+ get-large: libm:bin 1.440000 1.580000 3.020000 ( 6.955872)
81
+ get-large: libm:bin:buffer 1.550000 1.920000 3.470000 ( 7.199426)
82
+ get-large: mclient:ascii 15.460000 4.560000 20.020000 ( 20.855362)
83
+ get-large: stash:bin 3.610000 1.450000 5.060000 ( 8.103802)
84
+
85
+ hash:jenkins 0.660000 0.010000 0.670000 ( 0.660554)
86
+ hash:hsieh 0.310000 0.000000 0.310000 ( 0.323458)
87
+ hash:default 0.620000 0.000000 0.620000 ( 0.616587)
88
+ hash:fnv1_32 0.620000 0.000000 0.620000 ( 0.631255)
89
+ hash:fnv1_64 1.280000 0.010000 1.290000 ( 1.291580)
90
+ hash:none 0.320000 0.000000 0.320000 ( 0.324198)
91
+ hash:md5 1.030000 0.000000 1.030000 ( 1.046663)
92
+ hash:murmur 0.560000 0.010000 0.570000 ( 0.574408)
93
+ hash:fnv1a_32 0.660000 0.000000 0.660000 ( 0.670788)
94
+ hash:fnv1a_64 0.690000 0.000000 0.690000 ( 0.701477)
95
+ hash:crc 0.640000 0.010000 0.650000 ( 0.646991)
@@ -0,0 +1,96 @@
1
+ # sabshere 2/22/11 v0.0.3
2
+
3
+ vidalia:~/github/cache (master) $ ruby test/profile/benchmark.rb
4
+ Darwin vidalia 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
5
+ ruby 1.8.7 (2010-05-25 patchlevel 266) [i686-darwin9.8.0]
6
+ RUBY_VERSION=ruby-1.8.7-head
7
+ Ruby 1.8.7p266
8
+ Loaded memcached 1.0.6
9
+ Loaded remix-stash 1.1.3
10
+ Loaded memcache-client 1.8.5
11
+ Loaded cache 0.0.3
12
+ Loaded kgio 2.3.2
13
+ Loaded dalli 1.0.2
14
+ Loops is 20000
15
+ Stack depth is 0
16
+ Small value size is: 13 bytes
17
+ Large value size is: 4158 bytes
18
+ No matching processes belonging to you were found
19
+ user system total real
20
+ set: cache:dalli:bin 6.020000 1.890000 7.910000 ( 10.568499)
21
+ set: cache:libm:bin 1.460000 1.280000 2.740000 ( 6.112829)
22
+ set: dalli:bin 5.640000 1.870000 7.510000 ( 10.215219)
23
+ set: libm:ascii 0.820000 1.320000 2.140000 ( 5.446435)
24
+ set: libm:ascii:pipeline 0.360000 0.010000 0.370000 ( 0.378485)
25
+ set: libm:ascii:udp 0.700000 0.720000 1.420000 ( 3.659001)
26
+ set: libm:bin 0.720000 1.340000 2.060000 ( 5.364179)
27
+ set: libm:bin:buffer 0.300000 0.120000 0.420000 ( 1.105467)
28
+ set: mclient:ascii 10.860000 3.820000 14.680000 ( 15.175516)
29
+ set: stash:bin 3.700000 1.350000 5.050000 ( 8.229477)
30
+
31
+ get: cache:dalli:bin 6.130000 2.070000 8.200000 ( 10.683650)
32
+ get: cache:libm:bin 1.440000 1.230000 2.670000 ( 5.908044)
33
+ get: dalli:bin 5.800000 2.080000 7.880000 ( 10.324650)
34
+ get: libm:ascii 0.970000 1.320000 2.290000 ( 5.582769)
35
+ get: libm:ascii:pipeline 1.050000 1.580000 2.630000 ( 5.956804)
36
+ get: libm:ascii:udp 0.820000 0.720000 1.540000 ( 3.605324)
37
+ get: libm:bin 0.820000 1.340000 2.160000 ( 5.329828)
38
+ get: libm:bin:buffer 0.940000 1.630000 2.570000 ( 5.748327)
39
+ get: mclient:ascii 12.900000 3.860000 16.760000 ( 17.249089)
40
+ get: stash:bin 3.360000 1.320000 4.680000 ( 7.949412)
41
+
42
+ delete: cache:dalli:bin 5.610000 2.100000 7.710000 ( 10.029324)
43
+ delete: cache:libm:bin 2.030000 1.370000 3.400000 ( 6.651471)
44
+ delete: dalli:bin 5.230000 2.110000 7.340000 ( 9.676535)
45
+ delete: libm:ascii 1.790000 1.380000 3.170000 ( 6.550488)
46
+ delete: libm:ascii:pipeline 0.570000 0.650000 1.220000 ( 1.346079)
47
+ delete: libm:ascii:udp 1.650000 0.870000 2.520000 ( 4.527372)
48
+ delete: libm:bin 1.730000 1.390000 3.120000 ( 6.469119)
49
+ delete: libm:bin:buffer 0.480000 0.550000 1.030000 ( 1.773955)
50
+ delete: mclient:ascii 10.890000 3.930000 14.820000 ( 15.286474)
51
+ delete:stash:bin => #<NoMethodError: undefined method `delete' for #<Remix::Stash:0x11cc360>>
52
+
53
+ get-missing: cache:dalli:bin 5.970000 2.260000 8.230000 ( 10.874274)
54
+ get-missing: cache:libm:bin 2.470000 1.580000 4.050000 ( 7.471236)
55
+ get-missing: dalli:bin 5.550000 2.230000 7.780000 ( 10.420783)
56
+ get-missing: libm:ascii 2.080000 1.560000 3.640000 ( 7.186221)
57
+ get-missing: libm:ascii:pipeline 2.160000 1.890000 4.050000 ( 7.482394)
58
+ get-missing: libm:ascii:udp 1.850000 0.930000 2.780000 ( 4.956340)
59
+ get-missing: libm:bin 2.030000 1.470000 3.500000 ( 7.022853)
60
+ get-missing: libm:bin:buffer 2.090000 1.890000 3.980000 ( 7.314636)
61
+ get-missing: mclient:ascii 11.500000 4.010000 15.510000 ( 16.029498)
62
+ get-missing: stash:bin 3.280000 1.390000 4.670000 ( 7.834190)
63
+
64
+ set-large: cache:dalli:bin 8.070000 2.080000 10.150000 ( 13.126027)
65
+ set-large: cache:libm:bin 2.530000 1.410000 3.940000 ( 7.636479)
66
+ set-large: dalli:bin 7.650000 2.070000 9.720000 ( 12.691443)
67
+ set-large: libm:ascii 0.930000 1.420000 2.350000 ( 6.066637)
68
+ set-large: libm:ascii:pipeline 0.640000 0.450000 1.090000 ( 1.279625)
69
+ set-large: libm:ascii:udp 0.820000 0.860000 1.680000 ( 4.318411)
70
+ set-large: libm:bin 0.810000 1.450000 2.260000 ( 5.870205)
71
+ set-large: libm:bin:buffer 0.590000 0.660000 1.250000 ( 2.492524)
72
+ set-large: mclient:ascii 12.290000 4.120000 16.410000 ( 17.042205)
73
+ set-large: stash:bin 5.810000 1.430000 7.240000 ( 10.615813)
74
+
75
+ get-large: cache:dalli:bin 7.680000 2.460000 10.140000 ( 13.286558)
76
+ get-large: cache:libm:bin 6.530000 1.500000 8.030000 ( 11.980532)
77
+ get-large: dalli:bin 7.240000 2.460000 9.700000 ( 12.743058)
78
+ get-large: libm:ascii 1.610000 1.540000 3.150000 ( 7.086940)
79
+ get-large: libm:ascii:pipeline 1.720000 1.890000 3.610000 ( 7.410838)
80
+ get-large: libm:ascii:udp 1.420000 0.960000 2.380000 ( 4.688834)
81
+ get-large: libm:bin 1.440000 1.590000 3.030000 ( 6.935013)
82
+ get-large: libm:bin:buffer 1.600000 1.920000 3.520000 ( 7.278831)
83
+ get-large: mclient:ascii 15.700000 4.800000 20.500000 ( 21.276235)
84
+ get-large: stash:bin 3.580000 1.420000 5.000000 ( 8.259296)
85
+
86
+ hash:hsieh 0.310000 0.000000 0.310000 ( 0.314801)
87
+ hash:none 0.320000 0.000000 0.320000 ( 0.317238)
88
+ hash:default 0.610000 0.000000 0.610000 ( 0.627191)
89
+ hash:fnv1_64 1.270000 0.010000 1.280000 ( 1.274384)
90
+ hash:md5 1.070000 0.000000 1.070000 ( 1.080698)
91
+ hash:murmur 0.560000 0.000000 0.560000 ( 0.570058)
92
+ hash:fnv1a_64 0.690000 0.000000 0.690000 ( 0.701543)
93
+ hash:fnv1a_32 0.680000 0.010000 0.690000 ( 0.684682)
94
+ hash:jenkins 0.660000 0.000000 0.660000 ( 0.668542)
95
+ hash:crc 0.660000 0.000000 0.660000 ( 0.665331)
96
+ hash:fnv1_32 0.630000 0.000000 0.630000 ( 0.636520)
@@ -0,0 +1,94 @@
1
+ vidalia:~/github/cache (master) $ ruby test/profile/benchmark.rb
2
+ Darwin vidalia 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
3
+ ruby 1.8.7 (2010-05-25 patchlevel 266) [i686-darwin9.8.0]
4
+ RUBY_VERSION=ruby-1.8.7-head
5
+ Ruby 1.8.7p266
6
+ Loaded memcached 1.2
7
+ Loaded remix-stash 1.1.3
8
+ Loaded memcache-client 1.8.5
9
+ Loaded cache 0.1.2
10
+ Loaded kgio 2.3.2
11
+ Loaded dalli 1.0.2
12
+ Loops is 20000
13
+ Stack depth is 0
14
+ Small value size is: 13 bytes
15
+ Large value size is: 4158 bytes
16
+ No matching processes belonging to you were found
17
+ user system total real
18
+ set: cache:dalli:bin 5.720000 1.860000 7.580000 ( 10.301808)
19
+ set: cache:libm:bin 1.250000 1.270000 2.520000 ( 5.892224)
20
+ set: dalli:bin 5.430000 1.860000 7.290000 ( 9.966409)
21
+ set: libm:ascii 0.760000 1.330000 2.090000 ( 5.348975)
22
+ set: libm:ascii:pipeline 0.280000 0.010000 0.290000 ( 0.297230)
23
+ set: libm:ascii:udp 0.650000 0.710000 1.360000 ( 3.593454)
24
+ set: libm:bin 0.640000 1.360000 2.000000 ( 5.285160)
25
+ set: libm:bin:buffer 0.270000 0.160000 0.430000 ( 1.234561)
26
+ set: mclient:ascii 11.330000 3.780000 15.110000 ( 16.174666)
27
+ set: stash:bin 3.420000 1.330000 4.750000 ( 8.016146)
28
+
29
+ get: cache:dalli:bin 5.870000 1.950000 7.820000 ( 10.644558)
30
+ get: cache:libm:bin 1.370000 1.200000 2.570000 ( 5.946502)
31
+ get: dalli:bin 5.580000 2.070000 7.650000 ( 10.361689)
32
+ get: libm:ascii 0.980000 1.300000 2.280000 ( 5.455222)
33
+ get: libm:ascii:pipeline 1.030000 1.590000 2.620000 ( 5.875592)
34
+ get: libm:ascii:udp 0.820000 0.730000 1.550000 ( 3.515632)
35
+ get: libm:bin 0.830000 1.330000 2.160000 ( 5.381290)
36
+ get: libm:bin:buffer 0.900000 1.630000 2.530000 ( 5.761412)
37
+ get: mclient:ascii 13.630000 3.870000 17.500000 ( 17.912800)
38
+ get: stash:bin 3.100000 1.340000 4.440000 ( 7.667182)
39
+
40
+ delete: cache:dalli:bin 6.270000 2.390000 8.660000 ( 11.313843)
41
+ delete: cache:libm:bin 2.190000 1.560000 3.750000 ( 7.459292)
42
+ delete: dalli:bin 5.660000 2.340000 8.000000 ( 10.374507)
43
+ delete: libm:ascii 1.850000 1.570000 3.420000 ( 6.922356)
44
+ delete: libm:ascii:pipeline 0.230000 0.010000 0.240000 ( 0.242642)
45
+ delete: libm:ascii:udp 1.690000 0.930000 2.620000 ( 4.749489)
46
+ delete: libm:bin 1.780000 1.530000 3.310000 ( 6.768449)
47
+ delete: libm:bin:buffer 1.890000 1.880000 3.770000 ( 7.149319)
48
+ delete: mclient:ascii 11.940000 4.040000 15.980000 ( 16.423645)
49
+ delete:stash:bin => #<NoMethodError: undefined method `delete' for #<Remix::Stash:0x1249824>>
50
+
51
+ get-missing: cache:dalli:bin 5.530000 2.140000 7.670000 ( 10.187561)
52
+ get-missing: cache:libm:bin 2.200000 1.510000 3.710000 ( 6.953625)
53
+ get-missing: dalli:bin 5.230000 2.160000 7.390000 ( 9.891539)
54
+ get-missing: libm:ascii 1.960000 1.420000 3.380000 ( 6.459433)
55
+ get-missing: libm:ascii:pipeline 2.080000 1.860000 3.940000 ( 6.984890)
56
+ get-missing: libm:ascii:udp 1.730000 0.910000 2.640000 ( 4.582510)
57
+ get-missing: libm:bin 1.950000 1.470000 3.420000 ( 6.854775)
58
+ get-missing: libm:bin:buffer 2.060000 1.900000 3.960000 ( 7.180759)
59
+ get-missing: mclient:ascii 12.350000 4.100000 16.450000 ( 16.986064)
60
+ get-missing: stash:bin 3.110000 1.410000 4.520000 ( 7.908972)
61
+
62
+ set-large: cache:dalli:bin 8.650000 2.110000 10.760000 ( 13.864690)
63
+ set-large: cache:libm:bin 2.600000 1.450000 4.050000 ( 7.811509)
64
+ set-large: dalli:bin 8.250000 2.100000 10.350000 ( 13.370233)
65
+ set-large: libm:ascii 0.890000 1.460000 2.350000 ( 6.069504)
66
+ set-large: libm:ascii:pipeline 0.570000 0.450000 1.020000 ( 1.232906)
67
+ set-large: libm:ascii:udp 0.730000 0.850000 1.580000 ( 4.174216)
68
+ set-large: libm:bin 0.760000 1.510000 2.270000 ( 5.966586)
69
+ set-large: libm:bin:buffer 0.530000 0.700000 1.230000 ( 2.419153)
70
+ set-large: mclient:ascii 13.540000 4.250000 17.790000 ( 18.447711)
71
+ set-large: stash:bin 6.100000 1.500000 7.600000 ( 11.216811)
72
+
73
+ get-large: cache:dalli:bin 8.000000 2.480000 10.480000 ( 13.450322)
74
+ get-large: cache:libm:bin 6.820000 1.490000 8.310000 ( 12.331486)
75
+ get-large: dalli:bin 7.670000 2.490000 10.160000 ( 13.148162)
76
+ get-large: libm:ascii 1.740000 1.540000 3.280000 ( 7.256110)
77
+ get-large: libm:ascii:pipeline 1.870000 1.960000 3.830000 ( 7.723493)
78
+ get-large: libm:ascii:udp 1.560000 0.980000 2.540000 ( 4.823281)
79
+ get-large: libm:bin 1.590000 1.590000 3.180000 ( 7.018376)
80
+ get-large: libm:bin:buffer 1.730000 1.960000 3.690000 ( 7.365047)
81
+ get-large: mclient:ascii 17.160000 4.890000 22.050000 ( 22.647077)
82
+ get-large: stash:bin 3.290000 1.440000 4.730000 ( 7.950154)
83
+
84
+ hash:jenkins 0.550000 0.000000 0.550000 ( 0.561738)
85
+ hash:default 0.550000 0.000000 0.550000 ( 0.553209)
86
+ hash:crc 0.660000 0.000000 0.660000 ( 0.657155)
87
+ hash:fnv1_32 0.530000 0.010000 0.540000 ( 0.529303)
88
+ hash:hsieh 0.280000 0.000000 0.280000 ( 0.281685)
89
+ hash:fnv1_64 1.160000 0.000000 1.160000 ( 1.169524)
90
+ hash:none 0.310000 0.000000 0.310000 ( 0.313095)
91
+ hash:murmur 0.450000 0.000000 0.450000 ( 0.454460)
92
+ hash:md5 0.950000 0.010000 0.960000 ( 0.949226)
93
+ hash:fnv1a_64 0.590000 0.000000 0.590000 ( 0.590362)
94
+ hash:fnv1a_32 0.590000 0.000000 0.590000 ( 0.599005)
@@ -0,0 +1,94 @@
1
+ vidalia:~/github/cache (master) $ ruby test/profile/benchmark.rb
2
+ Darwin vidalia 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
3
+ ruby 1.8.7 (2010-05-25 patchlevel 266) [i686-darwin9.8.0]
4
+ RUBY_VERSION=ruby-1.8.7-head
5
+ Ruby 1.8.7p266
6
+ Loaded memcached 1.2.1
7
+ Loaded remix-stash 1.1.3
8
+ Loaded memcache-client 1.8.5
9
+ Loaded cache 0.2.1
10
+ Loaded kgio 2.3.2
11
+ Loaded dalli 1.0.2
12
+ Loops is 20000
13
+ Stack depth is 0
14
+ Small value size is: 13 bytes
15
+ Large value size is: 4158 bytes
16
+ No matching processes belonging to you were found
17
+ user system total real
18
+ set: cache:dalli:bin 5.720000 1.870000 7.590000 ( 10.245466)
19
+ set: cache:libm:bin 1.320000 1.260000 2.580000 ( 5.921810)
20
+ set: dalli:bin 5.360000 1.870000 7.230000 ( 9.871376)
21
+ set: libm:ascii 0.770000 1.310000 2.080000 ( 5.365856)
22
+ set: libm:ascii:pipeline 0.280000 0.020000 0.300000 ( 0.296948)
23
+ set: libm:ascii:udp 0.630000 0.690000 1.320000 ( 3.624834)
24
+ set: libm:bin 0.640000 1.380000 2.020000 ( 5.280843)
25
+ set: libm:bin:buffer 0.280000 0.180000 0.460000 ( 1.215491)
26
+ set: mclient:ascii 11.840000 3.800000 15.640000 ( 15.882581)
27
+ set: stash:bin 3.450000 1.320000 4.770000 ( 7.903133)
28
+
29
+ get: cache:dalli:bin 5.730000 2.040000 7.770000 ( 10.224065)
30
+ get: cache:libm:bin 1.340000 1.220000 2.560000 ( 5.813579)
31
+ get: dalli:bin 5.460000 2.060000 7.520000 ( 9.941512)
32
+ get: libm:ascii 0.970000 1.300000 2.270000 ( 5.396642)
33
+ get: libm:ascii:pipeline 1.030000 1.590000 2.620000 ( 5.773589)
34
+ get: libm:ascii:udp 0.790000 0.720000 1.510000 ( 3.391872)
35
+ get: libm:bin 0.820000 1.340000 2.160000 ( 5.363674)
36
+ get: libm:bin:buffer 0.920000 1.690000 2.610000 ( 5.658819)
37
+ get: mclient:ascii 14.410000 3.980000 18.390000 ( 18.660373)
38
+ get: stash:bin 3.310000 1.420000 4.730000 ( 7.973290)
39
+
40
+ delete: cache:dalli:bin 5.850000 2.250000 8.100000 ( 10.467114)
41
+ delete: cache:libm:bin 2.090000 1.530000 3.620000 ( 7.063066)
42
+ delete: dalli:bin 5.370000 2.250000 7.620000 ( 9.882647)
43
+ delete: libm:ascii 1.780000 1.500000 3.280000 ( 6.717891)
44
+ delete: libm:ascii:pipeline 0.220000 0.010000 0.230000 ( 0.240083)
45
+ delete: libm:ascii:udp 1.570000 0.900000 2.470000 ( 4.588112)
46
+ delete: libm:bin 1.740000 1.480000 3.220000 ( 6.629920)
47
+ delete: libm:bin:buffer 1.860000 1.890000 3.750000 ( 6.899297)
48
+ delete: mclient:ascii 12.090000 3.990000 16.080000 ( 16.328276)
49
+ delete:stash:bin => #<NoMethodError: undefined method `delete' for #<Remix::Stash:0x1a68384>>
50
+
51
+ get-missing: cache:dalli:bin 5.460000 2.160000 7.620000 ( 10.150363)
52
+ get-missing: cache:libm:bin 2.230000 1.500000 3.730000 ( 6.989031)
53
+ get-missing: dalli:bin 5.120000 2.160000 7.280000 ( 9.790094)
54
+ get-missing: libm:ascii 1.950000 1.410000 3.360000 ( 6.530576)
55
+ get-missing: libm:ascii:pipeline 2.050000 1.830000 3.880000 ( 6.787680)
56
+ get-missing: libm:ascii:udp 1.760000 0.900000 2.660000 ( 4.657937)
57
+ get-missing: libm:bin 1.940000 1.490000 3.430000 ( 6.782449)
58
+ get-missing: libm:bin:buffer 2.060000 1.920000 3.980000 ( 7.178149)
59
+ get-missing: mclient:ascii 12.630000 4.060000 16.690000 ( 16.921560)
60
+ get-missing: stash:bin 3.060000 1.380000 4.440000 ( 7.676172)
61
+
62
+ set-large: cache:dalli:bin 8.640000 2.120000 10.760000 ( 13.677315)
63
+ set-large: cache:libm:bin 2.720000 1.440000 4.160000 ( 7.890247)
64
+ set-large: dalli:bin 8.260000 2.120000 10.380000 ( 13.237021)
65
+ set-large: libm:ascii 0.900000 1.460000 2.360000 ( 6.131867)
66
+ set-large: libm:ascii:pipeline 0.580000 0.460000 1.040000 ( 1.293182)
67
+ set-large: libm:ascii:udp 0.720000 0.840000 1.560000 ( 4.197623)
68
+ set-large: libm:bin 0.770000 1.500000 2.270000 ( 5.938192)
69
+ set-large: libm:bin:buffer 0.530000 0.710000 1.240000 ( 2.383338)
70
+ set-large: mclient:ascii 13.790000 4.210000 18.000000 ( 18.322264)
71
+ set-large: stash:bin 6.150000 1.440000 7.590000 ( 10.888669)
72
+
73
+ get-large: cache:dalli:bin 8.080000 2.510000 10.590000 ( 13.538810)
74
+ get-large: cache:libm:bin 6.870000 1.460000 8.330000 ( 12.279483)
75
+ get-large: dalli:bin 7.630000 2.470000 10.100000 ( 13.012382)
76
+ get-large: libm:ascii 1.730000 1.500000 3.230000 ( 7.078254)
77
+ get-large: libm:ascii:pipeline 1.870000 1.930000 3.800000 ( 7.427236)
78
+ get-large: libm:ascii:udp 1.580000 0.950000 2.530000 ( 4.793014)
79
+ get-large: libm:bin 1.600000 1.560000 3.160000 ( 6.958339)
80
+ get-large: libm:bin:buffer 1.760000 1.960000 3.720000 ( 7.333753)
81
+ get-large: mclient:ascii 17.450000 4.840000 22.290000 ( 22.647341)
82
+ get-large: stash:bin 3.350000 1.420000 4.770000 ( 8.034720)
83
+
84
+ hash:jenkins 0.520000 0.000000 0.520000 ( 0.528327)
85
+ hash:default 0.580000 0.000000 0.580000 ( 0.574388)
86
+ hash:crc 0.620000 0.000000 0.620000 ( 0.623146)
87
+ hash:fnv1_32 0.530000 0.000000 0.530000 ( 0.536423)
88
+ hash:hsieh 0.320000 0.000000 0.320000 ( 0.316024)
89
+ hash:fnv1_64 1.150000 0.000000 1.150000 ( 1.151304)
90
+ hash:none 0.290000 0.000000 0.290000 ( 0.296099)
91
+ hash:murmur 0.460000 0.000000 0.460000 ( 0.458312)
92
+ hash:md5 0.990000 0.000000 0.990000 ( 0.995194)
93
+ hash:fnv1a_64 0.590000 0.000000 0.590000 ( 0.584158)
94
+ hash:fnv1a_32 0.580000 0.000000 0.580000 ( 0.593039)
@@ -0,0 +1,94 @@
1
+ vidalia:~/github/cache (master) $ ruby test/profile/benchmark.rb
2
+ Darwin vidalia 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
3
+ ruby 1.8.7 (2010-05-25 patchlevel 266) [i686-darwin9.8.0]
4
+ RUBY_VERSION=ruby-1.8.7-head
5
+ Ruby 1.8.7p266
6
+ Loaded memcached 1.2.1
7
+ Loaded remix-stash 1.1.3
8
+ Loaded memcache-client 1.8.5
9
+ Loaded cache 0.2.2
10
+ Loaded kgio 2.3.2
11
+ Loaded dalli 1.0.2
12
+ Loops is 20000
13
+ Stack depth is 0
14
+ Small value size is: 13 bytes
15
+ Large value size is: 4158 bytes
16
+ No matching processes belonging to you were found
17
+ user system total real
18
+ set: cache:dalli:bin 5.710000 1.870000 7.580000 ( 10.210710)
19
+ set: cache:libm:bin 1.320000 1.260000 2.580000 ( 5.913591)
20
+ set: dalli:bin 5.350000 1.860000 7.210000 ( 9.860368)
21
+ set: libm:ascii 0.760000 1.310000 2.070000 ( 5.369027)
22
+ set: libm:ascii:pipeline 0.280000 0.020000 0.300000 ( 0.300872)
23
+ set: libm:ascii:udp 0.640000 0.690000 1.330000 ( 3.618846)
24
+ set: libm:bin 0.640000 1.370000 2.010000 ( 5.287203)
25
+ set: libm:bin:buffer 0.320000 0.170000 0.490000 ( 1.238471)
26
+ set: mclient:ascii 11.840000 3.820000 15.660000 ( 15.933338)
27
+ set: stash:bin 3.420000 1.300000 4.720000 ( 7.871299)
28
+
29
+ get: cache:dalli:bin 5.740000 2.050000 7.790000 ( 10.220809)
30
+ get: cache:libm:bin 1.330000 1.260000 2.590000 ( 5.789277)
31
+ get: dalli:bin 5.430000 2.050000 7.480000 ( 9.945485)
32
+ get: libm:ascii 0.970000 1.290000 2.260000 ( 5.421878)
33
+ get: libm:ascii:pipeline 1.030000 1.590000 2.620000 ( 5.728829)
34
+ get: libm:ascii:udp 0.790000 0.730000 1.520000 ( 3.393461)
35
+ get: libm:bin 0.830000 1.330000 2.160000 ( 5.362280)
36
+ get: libm:bin:buffer 0.900000 1.640000 2.540000 ( 5.719478)
37
+ get: mclient:ascii 14.010000 3.860000 17.870000 ( 18.125730)
38
+ get: stash:bin 3.100000 1.320000 4.420000 ( 7.559659)
39
+
40
+ delete: cache:dalli:bin 6.680000 2.580000 9.260000 ( 11.757354)
41
+ delete: cache:libm:bin 2.220000 1.600000 3.820000 ( 7.429178)
42
+ delete: dalli:bin 5.670000 2.380000 8.050000 ( 10.352835)
43
+ delete: libm:ascii 1.850000 1.550000 3.400000 ( 6.950162)
44
+ delete: libm:ascii:pipeline 0.220000 0.010000 0.230000 ( 0.235296)
45
+ delete: libm:ascii:udp 1.630000 0.930000 2.560000 ( 4.708250)
46
+ delete: libm:bin 1.790000 1.520000 3.310000 ( 6.789130)
47
+ delete: libm:bin:buffer 1.910000 1.850000 3.760000 ( 7.065142)
48
+ delete: mclient:ascii 12.110000 4.000000 16.110000 ( 16.356892)
49
+ delete:stash:bin => #<NoMethodError: undefined method `delete' for #<Remix::Stash:0x1a58560>>
50
+
51
+ get-missing: cache:dalli:bin 5.390000 2.140000 7.530000 ( 9.990644)
52
+ get-missing: cache:libm:bin 2.200000 1.450000 3.650000 ( 6.940150)
53
+ get-missing: dalli:bin 5.070000 2.130000 7.200000 ( 9.662024)
54
+ get-missing: libm:ascii 1.940000 1.380000 3.320000 ( 6.361626)
55
+ get-missing: libm:ascii:pipeline 2.030000 1.830000 3.860000 ( 6.720970)
56
+ get-missing: libm:ascii:udp 1.740000 0.890000 2.630000 ( 4.607945)
57
+ get-missing: libm:bin 1.920000 1.450000 3.370000 ( 6.779409)
58
+ get-missing: libm:bin:buffer 2.030000 1.850000 3.880000 ( 7.157176)
59
+ get-missing: mclient:ascii 12.590000 4.060000 16.650000 ( 16.909974)
60
+ get-missing: stash:bin 3.100000 1.380000 4.480000 ( 7.754969)
61
+
62
+ set-large: cache:dalli:bin 8.780000 2.160000 10.940000 ( 13.767983)
63
+ set-large: cache:libm:bin 2.750000 1.460000 4.210000 ( 8.026319)
64
+ set-large: dalli:bin 8.400000 2.160000 10.560000 ( 13.420624)
65
+ set-large: libm:ascii 0.930000 1.480000 2.410000 ( 6.291813)
66
+ set-large: libm:ascii:pipeline 0.580000 0.450000 1.030000 ( 1.230049)
67
+ set-large: libm:ascii:udp 0.740000 0.870000 1.610000 ( 4.308647)
68
+ set-large: libm:bin 0.790000 1.500000 2.290000 ( 6.057129)
69
+ set-large: libm:bin:buffer 0.540000 0.710000 1.250000 ( 2.423327)
70
+ set-large: mclient:ascii 13.950000 4.260000 18.210000 ( 18.586740)
71
+ set-large: stash:bin 6.100000 1.440000 7.540000 ( 10.858524)
72
+
73
+ get-large: cache:dalli:bin 8.080000 2.500000 10.580000 ( 13.529802)
74
+ get-large: cache:libm:bin 6.880000 1.510000 8.390000 ( 12.255805)
75
+ get-large: dalli:bin 7.670000 2.480000 10.150000 ( 13.091946)
76
+ get-large: libm:ascii 1.780000 1.520000 3.300000 ( 7.155644)
77
+ get-large: libm:ascii:pipeline 1.890000 1.900000 3.790000 ( 7.469286)
78
+ get-large: libm:ascii:udp 1.570000 0.970000 2.540000 ( 4.810661)
79
+ get-large: libm:bin 1.610000 1.560000 3.170000 ( 6.964619)
80
+ get-large: libm:bin:buffer 1.750000 1.930000 3.680000 ( 7.370880)
81
+ get-large: mclient:ascii 17.490000 4.840000 22.330000 ( 22.742459)
82
+ get-large: stash:bin 3.310000 1.410000 4.720000 ( 8.020154)
83
+
84
+ hash:jenkins 0.590000 0.000000 0.590000 ( 0.598982)
85
+ hash:default 0.540000 0.000000 0.540000 ( 0.539465)
86
+ hash:crc 0.660000 0.010000 0.670000 ( 0.659791)
87
+ hash:fnv1_32 0.510000 0.000000 0.510000 ( 0.514745)
88
+ hash:hsieh 0.290000 0.000000 0.290000 ( 0.289317)
89
+ hash:fnv1_64 1.160000 0.000000 1.160000 ( 1.157847)
90
+ hash:none 0.320000 0.000000 0.320000 ( 0.324526)
91
+ hash:murmur 0.470000 0.000000 0.470000 ( 0.469895)
92
+ hash:md5 1.000000 0.000000 1.000000 ( 1.000877)
93
+ hash:fnv1a_64 0.540000 0.010000 0.550000 ( 0.542104)
94
+ hash:fnv1a_32 0.560000 0.000000 0.560000 ( 0.567425)