Here are some benchmark results. 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 OS X machine, with memcached 1.7.2: Darwin Arthurs-MacBook-Pro.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64 ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0] RUBYOPT=-rbundler/setup RUBYLIB=/Users/arthurnn/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/bundler-1.5.1/lib Ruby 2.0.0p353 Loaded memcached 1.7.2 Loaded remix-stash 1.1.3 Loaded memcache-client 1.8.5 Loaded dalli 2.6.4 PID is 67055 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.440000 2.910000 9.350000 ( 10.563638) set: libm:ascii 0.790000 1.800000 2.590000 ( 6.383041) set: libm:ascii:pipeline 0.190000 0.010000 0.200000 ( 0.202092) set: libm:ascii:udp 0.550000 0.940000 1.490000 ( 3.119734) set: libm:bin 0.590000 1.790000 2.380000 ( 6.075610) set: libm:bin:buffer 0.160000 0.440000 0.600000 ( 0.887930) set: mclient:ascii 6.280000 3.380000 9.660000 ( 10.730003) set: stash:bin 3.540000 1.990000 5.530000 ( 9.223562) get: dalli:bin 6.680000 3.390000 10.070000 ( 11.180611) get: libm:ascii 1.070000 1.830000 2.900000 ( 6.305700) get: libm:ascii:pipeline 1.240000 2.440000 3.680000 ( 7.115719) get: libm:ascii:udp 0.830000 1.020000 1.850000 ( 3.171187) get: libm:bin 0.850000 2.290000 3.140000 ( 6.281492) get: libm:bin:buffer 0.840000 2.600000 3.440000 ( 6.200500) get: mclient:ascii 8.070000 3.530000 11.600000 ( 12.345600) get: stash:bin 3.090000 2.100000 5.190000 ( 8.480606) get-multi: dalli:bin 5.930000 2.180000 8.110000 ( 8.108164) get-multi: libm:ascii 0.940000 0.970000 1.910000 ( 2.837050) get-multi: libm:ascii:pipeline 0.940000 0.970000 1.910000 ( 2.824970) get-multi: libm:ascii:udp 0.780000 0.610000 1.390000 ( 1.639728) get-multi: libm:bin 0.750000 1.570000 2.320000 ( 3.138594) get-multi: libm:bin:buffer 0.770000 1.610000 2.380000 ( 3.192629) append: dalli:bin 5.740000 2.980000 8.720000 ( 16.344137) append: libm:ascii 1.020000 1.950000 2.970000 ( 12.789710) append: libm:ascii:pipeline 0.230000 0.070000 0.300000 ( 3.346092) append: libm:ascii:udp 0.770000 1.100000 1.870000 ( 9.013537) append: libm:bin 0.800000 1.950000 2.750000 ( 12.440546) append: libm:bin:buffer 0.600000 1.570000 2.170000 ( 4.633185) append: mclient:ascii 6.330000 3.470000 9.800000 ( 17.164551) prepend: dalli:bin 5.710000 2.840000 8.550000 ( 16.196913) prepend: libm:ascii 1.040000 1.970000 3.010000 ( 13.116495) prepend: libm:ascii:pipeline 0.230000 0.060000 0.290000 ( 3.606279) prepend: libm:ascii:udp 0.760000 1.090000 1.850000 ( 10.152684) prepend: libm:bin 0.790000 1.880000 2.670000 ( 12.556400) prepend: libm:bin:buffer 0.600000 1.600000 2.200000 ( 5.044049) prepend: mclient:ascii 6.350000 3.440000 9.790000 ( 17.142962) delete: dalli:bin 5.800000 2.980000 8.780000 ( 9.778920) delete: libm:ascii 1.420000 1.990000 3.410000 ( 6.912480) delete: libm:ascii:pipeline 0.130000 0.010000 0.140000 ( 0.139597) delete: libm:ascii:udp 1.050000 1.030000 2.080000 ( 3.356582) delete: libm:bin 1.350000 1.940000 3.290000 ( 6.627281) delete: libm:bin:buffer 0.840000 0.900000 1.740000 ( 1.812440) delete: mclient:ascii 5.980000 3.260000 9.240000 ( 9.918309) exist: dalli:bin 6.680000 3.420000 10.100000 ( 11.182683) exist: libm:ascii 0.580000 1.810000 2.390000 ( 6.127155) exist: libm:ascii:pipeline 1.110000 2.390000 3.500000 ( 6.927549) exist: libm:ascii:udp 0.360000 0.920000 1.280000 ( 2.827431) exist: libm:bin 0.540000 1.760000 2.300000 ( 5.829209) exist: libm:bin:buffer 0.330000 1.030000 1.360000 ( 1.668925) get-missing: dalli:bin 5.800000 2.760000 8.560000 ( 9.562492) get-missing: libm:ascii 1.500000 1.950000 3.450000 ( 6.884550) get-missing: libm:ascii:pipeline 1.550000 2.690000 4.240000 ( 7.153775) get-missing: libm:ascii:udp 1.170000 1.220000 2.390000 ( 3.620543) get-missing: libm:bin 1.570000 2.520000 4.090000 ( 7.067088) get-missing: libm:bin:buffer 1.510000 2.690000 4.200000 ( 6.904890) get-missing: mclient:ascii 6.040000 3.230000 9.270000 ( 9.908836) append-missing: dalli:bin 5.830000 3.140000 8.970000 ( 10.275904) append-missing: libm:ascii 1.750000 2.150000 3.900000 ( 7.840195) append-missing: libm:ascii:pipeline 0.210000 0.050000 0.260000 ( 0.260620) append-missing: libm:ascii:udp 1.270000 1.180000 2.450000 ( 3.927083) append-missing: libm:bin 1.490000 2.080000 3.570000 ( 7.330363) append-missing: libm:bin:buffer 1.560000 2.520000 4.080000 ( 7.541846) append-missing: mclient:ascii 6.180000 3.290000 9.470000 ( 10.531754) prepend-missing: dalli:bin 5.830000 3.180000 9.010000 ( 10.289729) prepend-missing: libm:ascii 1.780000 2.210000 3.990000 ( 7.993564) prepend-missing: libm:ascii:pipeline 0.210000 0.060000 0.270000 ( 0.274244) prepend-missing: libm:ascii:udp 1.260000 1.190000 2.450000 ( 3.898849) prepend-missing: libm:bin 1.470000 2.100000 3.570000 ( 7.282732) prepend-missing: libm:bin:buffer 1.560000 2.540000 4.100000 ( 7.578402) prepend-missing: mclient:ascii 6.180000 3.280000 9.460000 ( 10.530963) exist-missing: dalli:bin 6.000000 3.140000 9.140000 ( 10.188436) exist-missing: libm:ascii 0.940000 1.990000 2.930000 ( 6.798681) exist-missing: libm:ascii:pipeline 1.020000 2.390000 3.410000 ( 6.467459) exist-missing: libm:ascii:udp 0.610000 1.060000 1.670000 ( 3.301365) exist-missing: libm:bin 0.920000 2.000000 2.920000 ( 6.681597) exist-missing: libm:bin:buffer 1.040000 2.540000 3.580000 ( 7.287630) set-large: dalli:bin 7.100000 3.370000 10.470000 ( 11.795271) set-large: libm:ascii 0.860000 1.850000 2.710000 ( 6.650196) set-large: libm:ascii:pipeline 0.300000 0.270000 0.570000 ( 0.586590) set-large: libm:ascii:udp 0.580000 0.970000 1.550000 ( 3.266937) set-large: libm:bin 0.630000 1.800000 2.430000 ( 6.203372) set-large: libm:bin:buffer 0.260000 0.680000 0.940000 ( 1.260024) set-large: mclient:ascii 6.680000 3.700000 10.380000 ( 11.808357) set-large: stash:bin 5.080000 2.520000 7.600000 ( 11.345483) get-large: dalli:bin 6.740000 3.700000 10.440000 ( 11.605284) get-large: libm:ascii 1.080000 1.860000 2.940000 ( 6.403185) get-large: libm:ascii:pipeline 1.200000 2.350000 3.550000 ( 6.870392) get-large: libm:ascii:udp 0.810000 1.020000 1.830000 ( 3.129513) get-large: libm:bin 0.810000 2.150000 2.960000 ( 5.941723) get-large: libm:bin:buffer 0.790000 2.410000 3.200000 ( 5.724441) get-large: mclient:ascii 8.150000 3.240000 11.390000 ( 12.305832) get-large: stash:bin 3.140000 2.130000 5.270000 ( 8.635335) hash:default 0.330000 0.000000 0.330000 ( 0.328978) hash:md5 0.630000 0.000000 0.630000 ( 0.631381) hash:crc 0.380000 0.000000 0.380000 ( 0.376241) hash:fnv1_64 0.240000 0.000000 0.240000 ( 0.242814) hash:fnv1a_64 0.250000 0.000000 0.250000 ( 0.245082) hash:fnv1_32 0.240000 0.000000 0.240000 ( 0.242794) hash:fnv1a_32 0.250000 0.000000 0.250000 ( 0.245309) hash:hsieh 0.090000 0.000000 0.090000 ( 0.096613) hash:murmur 0.150000 0.000000 0.150000 ( 0.145111) hash:jenkins 0.160000 0.000000 0.160000 ( 0.161225) hash:none 0.100000 0.000000 0.100000 ( 0.097352)