forked from arthurnn/memcached
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BENCHMARKS
128 lines (110 loc) · 8.38 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
Here are some benchmarks for various architectures and operating systems.
You can easily run your own benchmarks, as long as you have memcached itself on your system:
$ ruby -e 'system("ruby #{File.dirname(`gem which memcached`.split("\n").
last)}/../test/profile/benchmark.rb")'
== x86-64 OS X
These benchmarks were run on a 64-bit multicore Linux machine, with memcached 1.4.4:
Darwin amber.local 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
Ruby 1.9.2p0
Loaded memcached 1
Loaded remix-stash 1.1.3
Loaded memcache-client 1.8.5
Loaded dalli 0.9.7
Loops is 20000
Stack depth is 0
Small value size is: 19 bytes
Large value size is: 4189 bytes
user system total real
set: dalli:bin 5.510000 1.440000 6.950000 ( 7.097051)
set: libm:ascii 0.570000 1.010000 1.580000 ( 4.001999)
set: libm:ascii:pipeline 0.160000 0.010000 0.170000 ( 0.185296)
set: libm:ascii:udp 0.440000 0.550000 0.990000 ( 1.924700)
set: libm:bin 0.480000 0.990000 1.470000 ( 3.606949)
set: libm:bin:buffer 0.140000 0.110000 0.250000 ( 0.792182)
set: mclient:ascii 7.700000 3.280000 10.980000 ( 11.116606)
set: stash:bin 2.590000 1.140000 3.730000 ( 6.451502)
get: dalli:bin 6.000000 1.610000 7.610000 ( 7.863815)
get: libm:ascii 0.690000 1.050000 1.740000 ( 3.900660)
get: libm:ascii:pipeline 0.790000 1.310000 2.100000 ( 4.115793)
get: libm:ascii:udp 0.570000 0.550000 1.120000 ( 1.974468)
get: libm:bin 0.560000 1.000000 1.560000 ( 3.400204)
get: libm:bin:buffer 0.660000 1.340000 2.000000 ( 4.013932)
get: mclient:ascii 8.930000 3.370000 12.300000 ( 12.457570)
get: stash:bin 2.400000 1.300000 3.700000 ( 5.831002)
get-multi: dalli:bin 7.260000 2.740000 10.000000 ( 10.315224)
get-multi: libm:ascii 0.770000 0.630000 1.400000 ( 2.316304)
get-multi: libm:ascii:pipeline 0.780000 0.630000 1.410000 ( 2.295434)
get-multi: libm:ascii:udp 0.730000 0.480000 1.210000 ( 1.629404)
get-multi: libm:bin 0.770000 0.920000 1.690000 ( 2.840419)
get-multi: libm:bin:buffer 0.810000 0.980000 1.790000 ( 3.101011)
append: dalli:bin 5.540000 1.810000 7.350000 ( 9.444572)
append: libm:ascii 0.600000 1.060000 1.660000 ( 6.192075)
append: libm:ascii:pipeline 0.190000 0.030000 0.220000 ( 9.282220)
append: libm:ascii:udp 0.510000 0.590000 1.100000 ( 4.845760)
append: libm:bin 0.530000 1.030000 1.560000 ( 12.244152)
append: libm:bin:buffer 0.800000 1.470000 2.270000 ( 20.126558)
append: mclient:ascii 7.320000 3.380000 10.700000 ( 16.757586)
prepend: dalli:bin 7.060000 1.920000 8.980000 ( 13.621610)
prepend: libm:ascii 0.870000 1.150000 2.020000 ( 22.071470)
prepend: libm:ascii:pipeline 0.180000 0.010000 0.190000 ( 0.214543)
prepend: libm:ascii:udp 0.570000 0.630000 1.200000 ( 15.165584)
prepend: libm:bin 1.140000 1.030000 2.170000 ( 5.204032)
prepend: libm:bin:buffer 1.230000 1.310000 2.540000 ( 5.545043)
prepend: mclient:ascii 6.990000 3.130000 10.120000 ( 11.576000)
delete: dalli:bin 5.270000 1.700000 6.970000 ( 7.506385)
delete: libm:ascii 1.150000 1.030000 2.180000 ( 4.514493)
delete: libm:ascii:pipeline 0.290000 0.350000 0.640000 ( 0.718225)
delete: libm:ascii:udp 1.060000 0.660000 1.720000 ( 3.443370)
delete: libm:bin 1.080000 1.020000 2.100000 ( 4.410147)
delete: libm:bin:buffer 0.240000 0.350000 0.590000 ( 1.127925)
delete: mclient:ascii 7.690000 3.320000 11.010000 ( 11.251595)
get-missing: dalli:bin 5.540000 1.700000 7.240000 ( 7.350109)
get-missing: libm:ascii 1.190000 1.020000 2.210000 ( 4.435602)
get-missing: libm:ascii:pipeline 1.280000 1.410000 2.690000 ( 4.689176)
get-missing: libm:ascii:udp 1.080000 0.650000 1.730000 ( 3.310339)
get-missing: libm:bin 1.160000 1.030000 2.190000 ( 4.484304)
get-missing: libm:bin:buffer 1.270000 1.400000 2.670000 ( 4.744352)
get-missing: mclient:ascii 7.790000 3.330000 11.120000 ( 11.227906)
get-missing: stash:bin 2.340000 1.310000 3.650000 ( 5.711464)
append-missing: dalli:bin 7.750000 1.870000 9.620000 ( 9.838412)
append-missing: libm:ascii 1.240000 1.050000 2.290000 ( 5.272057)
append-missing: libm:ascii:pipeline 0.170000 0.010000 0.180000 ( 0.185741)
append-missing: libm:ascii:udp 1.120000 0.670000 1.790000 ( 3.965537)
append-missing: libm:bin 1.140000 1.020000 2.160000 ( 4.671309)
append-missing: libm:bin:buffer 1.240000 1.400000 2.640000 ( 4.976723)
append-missing: mclient:ascii 7.870000 3.310000 11.180000 ( 11.308514)
prepend-missing: dalli:bin 7.740000 1.860000 9.600000 ( 9.746965)
prepend-missing: libm:ascii 1.240000 1.040000 2.280000 ( 5.285512)
prepend-missing: libm:ascii:pipeline 0.170000 0.010000 0.180000 ( 0.191364)
prepend-missing: libm:ascii:udp 1.130000 0.670000 1.800000 ( 3.937638)
prepend-missing: libm:bin 1.130000 1.020000 2.150000 ( 4.678974)
prepend-missing: libm:bin:buffer 1.240000 1.420000 2.660000 ( 4.958552)
prepend-missing: mclient:ascii 7.900000 3.300000 11.200000 ( 11.300894)
set-large: dalli:bin 6.160000 1.600000 7.760000 ( 7.925181)
set-large: libm:ascii 0.610000 1.140000 1.750000 ( 4.520586)
set-large: libm:ascii:pipeline 0.330000 0.300000 0.630000 ( 0.795952)
set-large: libm:ascii:udp 0.500000 0.630000 1.130000 ( 2.941319)
set-large: libm:bin 0.510000 1.060000 1.570000 ( 4.005443)
set-large: libm:bin:buffer 0.290000 0.440000 0.730000 ( 1.507181)
set-large: mclient:ascii 8.170000 3.470000 11.640000 ( 11.992057)
set-large: stash:bin 3.800000 1.150000 4.950000 ( 7.632398)
get-large: dalli:bin 12.590000 1.930000 14.520000 ( 14.909260)
get-large: libm:ascii 0.950000 1.180000 2.130000 ( 4.416920)
get-large: libm:ascii:pipeline 1.020000 1.490000 2.510000 ( 5.031823)
get-large: libm:ascii:udp 0.830000 0.730000 1.560000 ( 2.412008)
get-large: libm:bin 0.830000 1.230000 2.060000 ( 4.123934)
get-large: libm:bin:buffer 0.890000 1.420000 2.310000 ( 4.842008)
get-large: mclient:ascii 10.220000 3.870000 14.090000 ( 14.289412)
get-large: stash:bin 2.470000 1.330000 3.800000 ( 5.877608)
hash:default 0.330000 0.000000 0.330000 ( 0.327642)
hash:md5 0.740000 0.000000 0.740000 ( 0.742601)
hash:crc 0.410000 0.000000 0.410000 ( 0.409796)
hash:fnv1_64 0.800000 0.000000 0.800000 ( 0.800292)
hash:fnv1a_64 0.270000 0.000000 0.270000 ( 0.274037)
hash:fnv1_32 0.260000 0.000000 0.260000 ( 0.260237)
hash:fnv1a_32 0.270000 0.010000 0.280000 ( 0.272979)
hash:hsieh 0.120000 0.000000 0.120000 ( 0.121117)
hash:murmur 0.210000 0.000000 0.210000 ( 0.203083)
hash:jenkins 0.240000 0.000000 0.240000 ( 0.245728)
hash:none 0.120000 0.000000 0.120000 ( 0.121219)