memcached/BENCHMARKS

147 строки
9.3 KiB
Plaintext

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)