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)