2008-02-03 23:18:20 +03:00
|
|
|
|
2011-02-23 05:38:21 +03:00
|
|
|
Here are some benchmark results.
|
2008-02-03 23:18:20 +03:00
|
|
|
|
|
|
|
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")'
|
|
|
|
|
2009-08-04 01:05:31 +04:00
|
|
|
== x86-64 OS X
|
2008-02-03 23:18:20 +03:00
|
|
|
|
2012-02-26 22:56:02 +04:00
|
|
|
These benchmarks were run on a 64-bit OS X machine, with memcached 1.4.5:
|
|
|
|
|
|
|
|
Darwin winter.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
|
|
|
|
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.1]
|
|
|
|
RUBY_VERSION=ruby-1.9.2-p290
|
|
|
|
Ruby 1.9.2p290
|
|
|
|
Loaded memcached 1.4.0
|
2010-08-31 23:41:42 +04:00
|
|
|
Loaded remix-stash 1.1.3
|
|
|
|
Loaded memcache-client 1.8.5
|
2012-02-26 22:56:02 +04:00
|
|
|
Loaded kgio 2.6.0
|
|
|
|
Loaded dalli 1.1.5
|
|
|
|
PID is 7161
|
|
|
|
Loops is 50000
|
2009-09-22 05:48:03 +04:00
|
|
|
Stack depth is 0
|
2012-02-26 22:56:02 +04:00
|
|
|
Small value size is: 19 bytes
|
|
|
|
Large value size is: 4189 bytes
|
2009-09-22 05:48:03 +04:00
|
|
|
user system total real
|
2012-02-26 22:56:02 +04:00
|
|
|
set: dalli:bin 6.230000 2.860000 9.090000 ( 13.771901)
|
|
|
|
set: libm:ascii 0.900000 1.600000 2.500000 ( 6.201596)
|
|
|
|
set: libm:ascii:pipeline 0.380000 0.010000 0.390000 ( 0.399863)
|
|
|
|
set: libm:ascii:udp 0.540000 0.810000 1.350000 ( 3.033980)
|
|
|
|
set: libm:bin 0.660000 1.550000 2.210000 ( 5.829103)
|
|
|
|
set: libm:bin:buffer 0.310000 0.560000 0.870000 ( 1.335899)
|
|
|
|
set: mclient:ascii 13.760000 3.640000 17.400000 ( 17.519859)
|
|
|
|
set: stash:bin 4.350000 2.260000 6.610000 ( 10.901810)
|
|
|
|
|
|
|
|
get: dalli:bin 6.370000 3.040000 9.410000 ( 13.762127)
|
|
|
|
get: libm:ascii 1.130000 1.710000 2.840000 ( 6.472671)
|
|
|
|
get: libm:ascii:pipeline 1.350000 2.480000 3.830000 ( 8.459317)
|
|
|
|
get: libm:ascii:udp 0.770000 0.910000 1.680000 ( 3.084506)
|
|
|
|
get: libm:bin 1.450000 2.910000 4.360000 ( 9.041859)
|
|
|
|
get: libm:bin:buffer 1.390000 3.400000 4.790000 ( 9.160760)
|
|
|
|
get: mclient:ascii 15.390000 3.890000 19.280000 ( 19.325698)
|
|
|
|
get: stash:bin 3.630000 2.310000 5.940000 ( 9.561887)
|
|
|
|
|
|
|
|
get-multi: dalli:bin 11.220000 4.720000 15.940000 ( 15.977336)
|
|
|
|
get-multi: libm:ascii 1.150000 1.190000 2.340000 ( 4.063418)
|
|
|
|
get-multi: libm:ascii:pipeline 1.160000 1.190000 2.350000 ( 4.063346)
|
|
|
|
get-multi: libm:ascii:udp 1.200000 1.110000 2.310000 ( 2.746055)
|
|
|
|
get-multi: libm:bin 1.520000 2.320000 3.840000 ( 5.053102)
|
|
|
|
get-multi: libm:bin:buffer 1.560000 2.350000 3.910000 ( 5.154312)
|
|
|
|
|
|
|
|
append: dalli:bin 5.470000 2.930000 8.400000 ( 24.011438)
|
|
|
|
append: libm:ascii 1.290000 1.790000 3.080000 ( 17.774130)
|
|
|
|
append: libm:ascii:pipeline 0.450000 0.040000 0.490000 ( 6.633257)
|
|
|
|
append: libm:ascii:udp 1.070000 0.970000 2.040000 ( 14.307639)
|
|
|
|
append: libm:bin 1.010000 1.740000 2.750000 ( 17.286027)
|
|
|
|
append: libm:bin:buffer 1.570000 3.060000 4.630000 ( 11.351744)
|
|
|
|
append: mclient:ascii 13.860000 4.610000 18.470000 ( 28.063347)
|
|
|
|
|
|
|
|
prepend: dalli:bin 5.480000 2.920000 8.400000 ( 24.141383)
|
|
|
|
prepend: libm:ascii 1.290000 1.800000 3.090000 ( 17.990164)
|
|
|
|
prepend: libm:ascii:pipeline 0.460000 0.050000 0.510000 ( 6.913219)
|
|
|
|
prepend: libm:ascii:udp 1.080000 0.970000 2.050000 ( 14.498750)
|
|
|
|
prepend: libm:bin 1.010000 1.750000 2.760000 ( 17.490186)
|
|
|
|
prepend: libm:bin:buffer 1.590000 3.030000 4.620000 ( 11.528854)
|
|
|
|
prepend: mclient:ascii 13.820000 4.590000 18.410000 ( 27.996415)
|
|
|
|
|
|
|
|
delete: dalli:bin 5.190000 2.860000 8.050000 ( 12.158696)
|
|
|
|
delete: libm:ascii 1.730000 1.760000 3.490000 ( 6.891763)
|
|
|
|
delete: libm:ascii:pipeline 0.270000 0.010000 0.280000 ( 0.286750)
|
|
|
|
delete: libm:ascii:udp 1.280000 0.960000 2.240000 ( 3.521770)
|
|
|
|
delete: libm:bin 1.670000 1.730000 3.400000 ( 6.670207)
|
|
|
|
delete: libm:bin:buffer 1.990000 1.420000 3.410000 ( 3.408682)
|
|
|
|
delete: mclient:ascii 12.300000 3.440000 15.740000 ( 15.004959)
|
|
|
|
|
|
|
|
get-missing: dalli:bin 5.190000 2.900000 8.090000 ( 12.288468)
|
|
|
|
get-missing: libm:ascii 1.890000 1.930000 3.820000 ( 7.300238)
|
|
|
|
get-missing: libm:ascii:pipeline 2.000000 2.400000 4.400000 ( 7.861120)
|
|
|
|
get-missing: libm:ascii:udp 1.420000 1.000000 2.420000 ( 3.684960)
|
|
|
|
get-missing: libm:bin 2.450000 2.880000 5.330000 ( 9.904413)
|
|
|
|
get-missing: libm:bin:buffer 2.590000 3.600000 6.190000 ( 10.558657)
|
|
|
|
get-missing: mclient:ascii 12.610000 3.520000 16.130000 ( 16.112399)
|
|
|
|
|
|
|
|
append-missing: dalli:bin 5.440000 2.930000 8.370000 ( 13.119090)
|
|
|
|
append-missing: libm:ascii 2.060000 2.060000 4.120000 ( 8.168211)
|
|
|
|
append-missing: libm:ascii:pipeline 0.410000 0.020000 0.430000 ( 0.423779)
|
|
|
|
append-missing: libm:ascii:udp 1.470000 0.980000 2.450000 ( 4.093117)
|
|
|
|
append-missing: libm:bin 1.800000 1.880000 3.680000 ( 7.384185)
|
|
|
|
append-missing: libm:bin:buffer 1.920000 2.500000 4.420000 ( 8.242885)
|
|
|
|
append-missing: mclient:ascii 12.780000 3.560000 16.340000 ( 16.303513)
|
|
|
|
|
|
|
|
prepend-missing: dalli:bin 5.440000 2.940000 8.380000 ( 13.143816)
|
|
|
|
prepend-missing: libm:ascii 2.060000 2.050000 4.110000 ( 8.207103)
|
|
|
|
prepend-missing: libm:ascii:pipeline 0.390000 0.010000 0.400000 ( 0.405324)
|
|
|
|
prepend-missing: libm:ascii:udp 1.480000 0.980000 2.460000 ( 4.100100)
|
|
|
|
prepend-missing: libm:bin 1.820000 1.910000 3.730000 ( 7.485082)
|
|
|
|
prepend-missing: libm:bin:buffer 1.930000 2.490000 4.420000 ( 8.220931)
|
|
|
|
prepend-missing: mclient:ascii 12.750000 3.570000 16.320000 ( 16.327426)
|
|
|
|
|
|
|
|
set-large: dalli:bin 8.210000 4.760000 12.970000 ( 20.323687)
|
|
|
|
set-large: libm:ascii 0.980000 1.690000 2.670000 ( 6.540981)
|
|
|
|
set-large: libm:ascii:pipeline 0.750000 0.620000 1.370000 ( 1.374806)
|
|
|
|
set-large: libm:ascii:udp 0.590000 0.880000 1.470000 ( 3.345455)
|
|
|
|
set-large: libm:bin 0.720000 1.620000 2.340000 ( 6.085282)
|
|
|
|
set-large: libm:bin:buffer 0.540000 1.000000 1.540000 ( 2.073624)
|
|
|
|
set-large: mclient:ascii 15.440000 5.050000 20.490000 ( 21.033437)
|
|
|
|
set-large: stash:bin 6.990000 2.970000 9.960000 ( 14.580058)
|
|
|
|
|
|
|
|
get-large: dalli:bin 6.430000 3.050000 9.480000 ( 13.863885)
|
|
|
|
get-large: libm:ascii 1.280000 1.910000 3.190000 ( 7.413390)
|
|
|
|
get-large: libm:ascii:pipeline 1.510000 2.690000 4.200000 ( 9.178352)
|
|
|
|
get-large: libm:ascii:udp 0.940000 1.050000 1.990000 ( 3.705017)
|
|
|
|
get-large: libm:bin 1.580000 3.140000 4.720000 ( 10.028901)
|
|
|
|
get-large: libm:bin:buffer 1.550000 3.740000 5.290000 ( 10.237274)
|
|
|
|
get-large: mclient:ascii 15.090000 3.590000 18.680000 ( 18.686119)
|
|
|
|
get-large: stash:bin 4.810000 3.010000 7.820000 ( 13.311248)
|
|
|
|
|
|
|
|
hash:default 0.540000 0.010000 0.550000 ( 0.537555)
|
|
|
|
hash:md5 0.910000 0.000000 0.910000 ( 0.914356)
|
|
|
|
hash:crc 0.620000 0.000000 0.620000 ( 0.624606)
|
|
|
|
hash:fnv1_64 0.420000 0.000000 0.420000 ( 0.421316)
|
|
|
|
hash:fnv1a_64 0.380000 0.000000 0.380000 ( 0.376717)
|
|
|
|
hash:fnv1_32 0.370000 0.000000 0.370000 ( 0.368479)
|
|
|
|
hash:fnv1a_32 0.350000 0.000000 0.350000 ( 0.353779)
|
|
|
|
hash:hsieh 0.160000 0.000000 0.160000 ( 0.161812)
|
|
|
|
hash:murmur 0.220000 0.000000 0.220000 ( 0.220061)
|
|
|
|
hash:jenkins 0.270000 0.000000 0.270000 ( 0.264617)
|
|
|
|
hash:none 0.160000 0.000000 0.160000 ( 0.165394)
|