memcached/BENCHMARKS

135 строки
8.4 KiB
Plaintext

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)