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.4.5: Darwin amber.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin10.4.0], MBARI 0x6770, Ruby Enterprise Edition 2010.02 RUBY_HEAP_FREE_MIN=4096 RUBY_HEAP_MIN_SLOTS=500000 RUBY_HEAP_SLOTS_INCREMENT=250000 RUBY_GC_MALLOC_LIMIT=50000000 RUBY_HEAP_SLOTS_GROWTH_FACTOR=1 RUBY_VERSION=ree-1.8.7-2010.02 Ruby 1.8.7p253 Loaded memcached 1.1.1 Loaded remix-stash 1.1.3 Loaded memcache-client 1.8.5 Loaded kgio 2.0.0 Loaded dalli 1.0.2 PID is 21173 Loops is 20000 Stack depth is 0 Small value size is: 13 bytes Large value size is: 4158 bytes user system total real set: libm:ascii 0.600000 0.960000 1.560000 ( 3.790868) set: libm:ascii:pipeline 0.230000 0.010000 0.240000 ( 0.240365) set: libm:ascii:udp 0.530000 0.580000 1.110000 ( 2.573610) set: libm:bin 0.480000 0.860000 1.340000 ( 3.355849) set: libm:bin:buffer 0.250000 0.100000 0.350000 ( 0.859416) set: dalli:bin 4.270000 1.380000 5.650000 ( 7.673922) set: mclient:ascii 7.020000 1.920000 8.940000 ( 9.739894) set: stash:bin 2.640000 1.060000 3.700000 ( 6.100208) get: libm:ascii 0.830000 0.990000 1.820000 ( 3.912925) get: libm:ascii:pipeline 0.780000 1.070000 1.850000 ( 4.166414) get: libm:ascii:udp 0.680000 0.620000 1.300000 ( 2.872687) get: libm:bin 0.690000 1.020000 1.710000 ( 3.588579) get: libm:bin:buffer 0.690000 1.210000 1.900000 ( 3.927647) get: dalli:bin 4.530000 1.490000 6.020000 ( 8.197772) get: mclient:ascii 8.660000 1.870000 10.530000 ( 11.176572) get: stash:bin 2.310000 1.000000 3.310000 ( 5.581331) get-multi: libm:ascii 0.650000 0.560000 1.210000 ( 2.101080) get-multi: libm:ascii:pipeline 0.750000 0.560000 1.310000 ( 2.188553) get-multi: libm:ascii:udp 0.710000 0.470000 1.180000 ( 1.680744) get-multi: libm:bin 0.730000 0.800000 1.530000 ( 4.046271) get-multi: libm:bin:buffer 0.710000 0.670000 1.380000 ( 2.853617) get-multi: dalli:bin 7.700000 2.190000 9.890000 ( 10.021851) append: libm:ascii 0.740000 1.000000 1.740000 ( 5.609197) append: libm:ascii:pipeline 0.250000 0.010000 0.260000 ( 0.875205) append: libm:ascii:udp 0.570000 0.560000 1.130000 ( 4.695231) append: libm:bin 0.540000 0.900000 1.440000 ( 4.962085) append: libm:bin:buffer 0.560000 0.780000 1.340000 ( 2.669085) append: dalli:bin 3.620000 1.240000 4.860000 ( 8.718248) append: mclient:ascii 7.220000 1.750000 8.970000 ( 11.657408) prepend: libm:ascii 0.660000 1.040000 1.700000 ( 5.461676) prepend: libm:ascii:pipeline 0.260000 0.010000 0.270000 ( 0.760103) prepend: libm:ascii:udp 0.670000 0.600000 1.270000 ( 4.324850) prepend: libm:bin 0.560000 0.900000 1.460000 ( 5.801869) prepend: libm:bin:buffer 0.530000 0.800000 1.330000 ( 3.631074) prepend: dalli:bin 3.620000 1.240000 4.860000 ( 8.531561) prepend: mclient:ascii 6.400000 1.590000 7.990000 ( 12.047692) delete: libm:ascii 1.350000 0.920000 2.270000 ( 4.693438) delete: libm:ascii:pipeline 0.320000 0.320000 0.640000 ( 0.706662) delete: libm:ascii:udp 1.270000 0.660000 1.930000 ( 3.851781) delete: libm:bin 1.190000 0.960000 2.150000 ( 4.456707) delete: libm:bin:buffer 0.230000 0.250000 0.480000 ( 0.911735) delete: dalli:bin 3.850000 1.440000 5.290000 ( 7.160706) delete: mclient:ascii 7.270000 1.670000 8.940000 ( 9.618969) get-missing: libm:ascii 1.430000 0.970000 2.400000 ( 4.982100) get-missing: libm:ascii:pipeline 1.480000 1.200000 2.680000 ( 5.505560) get-missing: libm:ascii:udp 1.340000 0.690000 2.030000 ( 3.706029) get-missing: libm:bin 1.390000 0.960000 2.350000 ( 4.676127) get-missing: libm:bin:buffer 1.460000 1.230000 2.690000 ( 5.048332) get-missing: dalli:bin 3.810000 1.380000 5.190000 ( 7.874001) get-missing: mclient:ascii 6.920000 1.600000 8.520000 ( 9.999317) append-missing: libm:ascii 1.370000 0.990000 2.360000 ( 5.073530) append-missing: libm:ascii:pipeline 0.330000 0.010000 0.340000 ( 0.374423) append-missing: libm:ascii:udp 1.300000 0.690000 1.990000 ( 4.005369) append-missing: libm:bin 1.340000 0.920000 2.260000 ( 5.339037) append-missing: dalli:bin 4.020000 1.420000 5.440000 ( 8.193874) append-missing: mclient:ascii 6.930000 1.630000 8.560000 ( 10.637547) prepend-missing: libm:ascii 1.460000 0.970000 2.430000 ( 5.002199) prepend-missing: libm:ascii:pipeline 0.240000 0.010000 0.250000 ( 0.253590) prepend-missing: libm:ascii:udp 1.370000 0.710000 2.080000 ( 4.243274) prepend-missing: libm:bin 1.360000 0.950000 2.310000 ( 4.946014) prepend-missing: dalli:bin 3.910000 1.430000 5.340000 ( 7.407236) prepend-missing: mclient:ascii 7.380000 1.730000 9.110000 ( 10.140385) set-large: libm:ascii 0.670000 0.980000 1.650000 ( 5.181314) set-large: libm:ascii:pipeline 0.410000 0.330000 0.740000 ( 1.757769) set-large: libm:ascii:udp 0.590000 0.670000 1.260000 ( 3.510175) set-large: libm:bin 0.540000 0.980000 1.520000 ( 3.878854) set-large: libm:bin:buffer 0.350000 0.440000 0.790000 ( 2.036610) set-large: dalli:bin 5.010000 1.670000 6.680000 ( 9.884379) set-large: mclient:ascii 7.500000 2.130000 9.630000 ( 11.357448) set-large: stash:bin 3.920000 1.130000 5.050000 ( 7.488534) get-large: libm:ascii 0.760000 0.950000 1.710000 ( 4.151140) get-large: libm:ascii:pipeline 0.820000 1.190000 2.010000 ( 4.079482) get-large: libm:ascii:udp 0.770000 0.580000 1.350000 ( 2.763797) get-large: libm:bin 0.640000 0.970000 1.610000 ( 3.686591) get-large: libm:bin:buffer 0.690000 1.110000 1.800000 ( 3.974967) get-large: dalli:bin 4.710000 1.430000 6.140000 ( 8.011834) get-large: mclient:ascii 8.860000 1.970000 10.830000 ( 12.136812) get-large: stash:bin 2.420000 0.970000 3.390000 ( 5.643309) hash:murmur 0.250000 0.000000 0.250000 ( 0.250730) hash:md5 0.670000 0.000000 0.670000 ( 0.680286) hash:fnv1a_64 0.320000 0.000000 0.320000 ( 0.319818) hash:fnv1a_32 0.310000 0.000000 0.310000 ( 0.328325) hash:jenkins 0.270000 0.010000 0.280000 ( 0.270705) hash:default 0.410000 0.000000 0.410000 ( 0.412068) hash:crc 0.380000 0.000000 0.380000 ( 0.377563) hash:hsieh 0.210000 0.000000 0.210000 ( 0.212948) hash:fnv1_32 0.310000 0.000000 0.310000 ( 0.316208) hash:fnv1_64 0.450000 0.000000 0.450000 ( 0.453148) hash:none 0.210000 0.000000 0.210000 ( 0.213811)