forked from arthurnn/memcached
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BENCHMARKS
146 lines (126 loc) · 9.25 KB
/
BENCHMARKS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Here are some benchmark results.
You can easily run your own benchmarks, as long as you have memcached itself on your system:
$ bundle exec rake benchmark
== x86-64 OS X
These benchmarks were run on a 64-bit OS X machine, with memcached 1.4.24:
Darwin snowball 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64
ruby 2.1.7p400 (2015-08-18 revision 51632) [x86_64-darwin15.0]
RUBY_ENGINE=ruby
RUBY_ROOT=/Users/arthurnn/.rubies/ruby-2.1.7
RUBYOPT=-rbundler/setup
RUBYLIB=/Users/arthurnn/.gem/ruby/2.1.7/gems/bundler-1.10.6/lib
RUBY_VERSION=2.1.7
Ruby 2.1.7p400
Loaded memcached 1.8.0
Loaded remix-stash 1.1.3
Loaded memcache-client 1.8.5
Loaded dalli 2.7.5
PID is 25952
Loops is 50000
Stack depth is 0
Small value size is: 19 bytes
Large value size is: 4189 bytes
user system total real
set: dalli:bin 6.140000 3.030000 9.170000 ( 11.740703)
set: libm:ascii 0.510000 1.550000 2.060000 ( 5.540367)
set: libm:ascii:pipeline 0.200000 0.030000 0.230000 ( 0.242075)
set: libm:ascii:udp 0.320000 0.660000 0.980000 ( 2.051241)
set: libm:bin 0.380000 1.500000 1.880000 ( 5.240533)
set: libm:bin:buffer 0.210000 0.440000 0.650000 ( 1.440736)
set: mclient:ascii 5.390000 3.330000 8.720000 ( 11.094337)
set: stash:bin 2.920000 1.920000 4.840000 ( 8.685715)
get: dalli:bin 5.830000 3.210000 9.040000 ( 11.292248)
get: libm:ascii 0.840000 1.800000 2.640000 ( 7.072240)
get: libm:ascii:pipeline 1.250000 2.860000 4.110000 ( 10.513256)
get: libm:ascii:udp 0.730000 0.830000 1.560000 ( 3.296948)
get: libm:bin 0.990000 2.770000 3.760000 ( 8.902650)
get: libm:bin:buffer 0.910000 3.190000 4.100000 ( 8.130182)
get: mclient:ascii 6.940000 3.440000 10.380000 ( 12.435542)
get: stash:bin 2.140000 1.870000 4.010000 ( 7.050235)
get-multi: dalli:bin 8.100000 3.560000 11.660000 ( 12.239817)
get-multi: libm:ascii 0.700000 1.130000 1.830000 ( 2.943079)
get-multi: libm:ascii:pipeline 0.750000 1.190000 1.940000 ( 3.122714)
get-multi: libm:ascii:udp 0.610000 0.670000 1.280000 ( 1.546763)
get-multi: libm:bin 0.920000 2.190000 3.110000 ( 5.223670)
get-multi: libm:bin:buffer 0.930000 2.220000 3.150000 ( 5.280691)
append: dalli:bin 5.870000 3.200000 9.070000 ( 22.472106)
append: libm:ascii 0.970000 2.150000 3.120000 ( 18.463404)
append: libm:ascii:pipeline 0.300000 0.040000 0.340000 ( 5.555134)
append: libm:ascii:udp 0.640000 0.820000 1.460000 ( 9.630847)
append: libm:bin 0.620000 1.820000 2.440000 ( 14.711178)
append: libm:bin:buffer 1.170000 3.130000 4.300000 ( 11.960384)
append: mclient:ascii 7.890000 4.740000 12.630000 ( 29.746835)
prepend: dalli:bin 7.260000 3.860000 11.120000 ( 28.830745)
prepend: libm:ascii 0.900000 1.990000 2.890000 ( 17.160139)
prepend: libm:ascii:pipeline 0.320000 0.050000 0.370000 ( 5.597601)
prepend: libm:ascii:udp 0.710000 0.850000 1.560000 ( 12.146740)
prepend: libm:bin 0.690000 1.920000 2.610000 ( 16.548869)
prepend: libm:bin:buffer 1.110000 2.990000 4.100000 ( 11.593440)
prepend: mclient:ascii 6.400000 4.070000 10.470000 ( 24.556245)
delete: dalli:bin 5.610000 3.170000 8.780000 ( 11.628410)
delete: libm:ascii 1.170000 1.980000 3.150000 ( 7.220840)
delete: libm:ascii:pipeline 0.140000 0.020000 0.160000 ( 0.164323)
delete: libm:ascii:udp 0.790000 1.060000 1.850000 ( 2.834595)
delete: libm:bin 0.990000 2.020000 3.010000 ( 6.377224)
delete: libm:bin:buffer 1.440000 1.980000 3.420000 ( 4.548943)
delete: mclient:ascii 5.660000 3.680000 9.340000 ( 11.798163)
exist: dalli:bin 6.600000 3.760000 10.360000 ( 13.333176)
exist: libm:ascii 0.470000 1.930000 2.400000 ( 6.562550)
exist: libm:ascii:pipeline 0.770000 2.500000 3.270000 ( 7.195691)
exist: libm:ascii:udp 0.250000 0.770000 1.020000 ( 2.093370)
exist: libm:bin 0.470000 1.980000 2.450000 ( 6.669954)
exist: libm:bin:buffer 0.490000 1.710000 2.200000 ( 3.794428)
get-missing: dalli:bin 5.100000 2.900000 8.000000 ( 10.280236)
get-missing: libm:ascii 1.120000 1.650000 2.770000 ( 6.234911)
get-missing: libm:ascii:pipeline 1.240000 2.540000 3.780000 ( 7.179858)
get-missing: libm:ascii:udp 0.940000 1.350000 2.290000 ( 3.321761)
get-missing: libm:bin 1.960000 3.790000 5.750000 ( 12.325343)
get-missing: libm:bin:buffer 1.810000 3.790000 5.600000 ( 10.514154)
get-missing: mclient:ascii 5.680000 3.770000 9.450000 ( 11.709241)
append-missing: dalli:bin 5.740000 3.280000 9.020000 ( 12.254871)
append-missing: libm:ascii 1.420000 1.890000 3.310000 ( 8.069294)
append-missing: libm:ascii:pipeline 0.220000 0.030000 0.250000 ( 0.261823)
append-missing: libm:ascii:udp 0.820000 0.690000 1.510000 ( 2.555414)
append-missing: libm:bin 1.040000 1.650000 2.690000 ( 6.381088)
append-missing: libm:bin:buffer 1.230000 2.340000 3.570000 ( 7.498664)
append-missing: mclient:ascii 5.600000 3.560000 9.160000 ( 11.720957)
prepend-missing: dalli:bin 5.470000 3.140000 8.610000 ( 11.572848)
prepend-missing: libm:ascii 1.490000 1.980000 3.470000 ( 8.491900)
prepend-missing: libm:ascii:pipeline 0.220000 0.030000 0.250000 ( 0.256449)
prepend-missing: libm:ascii:udp 0.940000 0.730000 1.670000 ( 2.918613)
prepend-missing: libm:bin 1.120000 1.830000 2.950000 ( 6.795458)
prepend-missing: libm:bin:buffer 1.380000 2.920000 4.300000 ( 8.847854)
prepend-missing: mclient:ascii 5.820000 3.750000 9.570000 ( 12.285245)
exist-missing: dalli:bin 5.010000 2.800000 7.810000 ( 10.151381)
exist-missing: libm:ascii 0.740000 1.780000 2.520000 ( 6.879934)
exist-missing: libm:ascii:pipeline 0.790000 2.170000 2.960000 ( 6.531277)
exist-missing: libm:ascii:udp 0.410000 0.740000 1.150000 ( 2.276789)
exist-missing: libm:bin 0.840000 1.910000 2.750000 ( 8.004243)
exist-missing: libm:bin:buffer 0.700000 2.090000 2.790000 ( 6.463543)
set-large: dalli:bin 7.980000 4.680000 12.660000 ( 16.486839)
set-large: libm:ascii 0.610000 1.670000 2.280000 ( 6.245315)
set-large: libm:ascii:pipeline 0.400000 0.510000 0.910000 ( 0.930710)
set-large: libm:ascii:udp 0.350000 0.730000 1.080000 ( 2.305644)
set-large: libm:bin 0.440000 1.590000 2.030000 ( 5.655186)
set-large: libm:bin:buffer 0.380000 1.050000 1.430000 ( 2.445995)
set-large: mclient:ascii 6.480000 4.310000 10.790000 ( 14.100555)
set-large: stash:bin 4.590000 2.490000 7.080000 ( 11.164275)
get-large: dalli:bin 5.990000 4.320000 10.310000 ( 12.651252)
get-large: libm:ascii 0.710000 2.010000 2.720000 ( 6.290244)
get-large: libm:ascii:pipeline 0.810000 2.560000 3.370000 ( 6.832158)
get-large: libm:ascii:udp 0.440000 0.850000 1.290000 ( 2.274852)
get-large: libm:bin 0.950000 2.660000 3.610000 ( 8.404311)
get-large: libm:bin:buffer 0.940000 3.220000 4.160000 ( 8.354847)
get-large: mclient:ascii 7.420000 3.740000 11.160000 ( 13.644167)
get-large: stash:bin 2.570000 2.140000 4.710000 ( 8.578543)
hash:default 0.420000 0.000000 0.420000 ( 0.421850)
hash:md5 0.790000 0.010000 0.800000 ( 0.798812)
hash:crc 0.490000 0.000000 0.490000 ( 0.504619)
hash:fnv1_64 0.320000 0.000000 0.320000 ( 0.318709)
hash:fnv1a_64 0.290000 0.000000 0.290000 ( 0.298615)
hash:fnv1_32 0.300000 0.000000 0.300000 ( 0.295191)
hash:fnv1a_32 0.290000 0.010000 0.300000 ( 0.298164)
hash:hsieh 0.110000 0.000000 0.110000 ( 0.108996)
hash:murmur 0.150000 0.000000 0.150000 ( 0.157561)
hash:jenkins 0.190000 0.000000 0.190000 ( 0.191567)
hash:none 0.110000 0.000000 0.110000 ( 0.108987)