memcached/BENCHMARKS

121 строка
8.6 KiB
Plaintext

Here are some benchmarks for various architectures and operating systems.
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 an OS X 10.5 Core 2 Duo machine:
Ruby 1.8.7p174
Loaded memcached 0.17
Loaded binary42-remix-stash 0.9.5
Loaded memcache-client 1.7.5
Loops is 40000
Stack depth is 0
Small value size is: 13 bytes
Large value size is: 4158 bytes
user system total real
set:libm 1.360000 2.120000 3.480000 ( 8.952505)
set:libm:binary 1.180000 2.100000 3.280000 ( 7.692065)
set:libm:noblock 0.590000 0.240000 0.830000 ( 1.863921)
set:libm:noblock_binary 0.470000 0.220000 0.690000 ( 1.678243)
set:libm:udp 1.140000 1.150000 2.290000 ( 4.835305)
set:ruby 15.440000 6.330000 21.770000 ( 22.136843)
set:stash 5.780000 2.040000 7.820000 ( 13.748268)
get:libm 1.600000 2.000000 3.600000 ( 8.112166)
get:libm:binary 1.360000 2.150000 3.510000 ( 7.829266)
get:libm:noblock 1.820000 2.630000 4.450000 ( 8.971191)
get:libm:noblock_binary 1.560000 2.650000 4.210000 ( 8.114088)
get:libm:udp 1.350000 1.140000 2.490000 ( 4.878485)
get:ruby 18.640000 6.370000 25.010000 ( 25.925459)
get:stash 5.120000 1.990000 7.110000 ( 11.850485)
get-multi:libm 1.770000 1.320000 3.090000 ( 4.790793)
get-multi:libm:binary 1.730000 1.740000 3.470000 ( 5.655120)
get-multi:libm:noblock 1.820000 1.330000 3.150000 ( 4.841084)
get-multi:libm:noblock_binary 1.740000 1.760000 3.500000 ( 5.616970)
get-multi:libm:udp 1.690000 0.960000 2.650000 ( 3.551923)
get-multi:ruby 21.380000 4.400000 25.780000 ( 26.017883)
append:libm 1.500000 2.180000 3.680000 ( 14.658051)
append:libm:binary 1.300000 2.110000 3.410000 ( 13.626305)
append:libm:noblock 1.850000 2.870000 4.720000 ( 45.167145)
append:libm:noblock_binary 1.640000 2.870000 4.510000 ( 44.614596)
append:libm:udp 1.260000 1.170000 2.430000 ( 11.556293)
append:ruby 16.770000 7.310000 24.080000 ( 29.525815)
delete:libm 1.890000 2.080000 3.970000 ( 8.368548)
delete:libm:binary 1.730000 2.090000 3.820000 ( 7.799952)
delete:libm:noblock 0.850000 0.890000 1.740000 ( 2.530108)
delete:libm:noblock_binary 0.710000 0.780000 1.490000 ( 2.390600)
delete:libm:udp 1.700000 1.310000 3.010000 ( 6.508360)
delete:ruby 15.670000 6.330000 22.000000 ( 22.226087)
delete:stash 4.970000 2.010000 6.980000 ( 11.726916)
get-missing:libm 2.070000 2.060000 4.130000 ( 8.937420)
get-missing:libm:binary 2.010000 2.090000 4.100000 ( 8.506150)
get-missing:libm:noblock 2.270000 2.770000 5.040000 ( 9.485592)
get-missing:libm:noblock_binary 2.220000 2.760000 4.980000 ( 9.226826)
get-missing:libm:udp 1.830000 1.300000 3.130000 ( 7.135699)
get-missing:ruby 16.130000 6.380000 22.510000 ( 22.888698)
get-missing:stash 5.030000 2.030000 7.060000 ( 11.556793)
append-missing:libm 2.210000 2.070000 4.280000 ( 10.386632)
append-missing:libm:binary 2.000000 2.060000 4.060000 ( 9.135312)
append-missing:libm:noblock 2.400000 2.740000 5.140000 ( 10.821778)
append-missing:libm:noblock_binary 2.200000 2.770000 4.970000 ( 9.699192)
append-missing:libm:udp 1.970000 1.320000 3.290000 ( 7.668878)
append-missing:ruby 15.970000 6.470000 22.440000 ( 22.912466)
set-large:libm 1.460000 2.210000 3.670000 ( 9.517034)
set-large:libm:binary 1.260000 2.270000 3.530000 ( 9.098769)
set-large:libm:noblock 0.980000 0.890000 1.870000 ( 3.304075)
set-large:libm:noblock_binary 0.840000 0.890000 1.730000 ( 3.444305)
set-large:libm:udp 1.250000 1.330000 2.580000 ( 6.924254)
set-large:ruby 16.960000 6.490000 23.450000 ( 23.964380)
get-large:libm 2.280000 2.450000 4.730000 ( 9.908532)
get-large:libm:binary 2.080000 2.530000 4.610000 ( 8.966637)
get-large:libm:noblock 2.410000 2.850000 5.260000 ( 11.066391)
get-large:libm:noblock_binary 2.200000 2.910000 5.110000 ( 10.328922)
get-large:libm:udp 2.010000 1.430000 3.440000 ( 6.679192)
get-large:ruby 21.790000 7.370000 29.160000 ( 29.578987)
get-large:stash 5.430000 2.020000 7.450000 ( 11.967011)
set-ruby:libm 1.800000 1.990000 3.790000 ( 9.511387)
set-ruby:libm:binary 1.610000 2.000000 3.610000 ( 8.502297)
set-ruby:libm:noblock 0.910000 0.200000 1.110000 ( 2.083001)
set-ruby:libm:noblock_binary 0.750000 0.210000 0.960000 ( 1.895510)
set-ruby:libm:udp 1.530000 1.170000 2.700000 ( 6.148442)
set-ruby:ruby 16.290000 6.400000 22.690000 ( 23.672254)
set-ruby:stash 5.570000 2.020000 7.590000 ( 13.381661)
get-ruby:libm 1.920000 1.950000 3.870000 ( 9.042716)
get-ruby:libm:binary 1.640000 1.980000 3.620000 ( 7.987886)
get-ruby:libm:noblock 2.140000 2.600000 4.740000 ( 10.280036)
get-ruby:libm:noblock_binary 1.870000 2.590000 4.460000 ( 9.213013)
get-ruby:libm:udp 1.660000 1.170000 2.830000 ( 5.762381)
get-ruby:ruby 19.760000 6.500000 26.260000 ( 27.573109)
get-ruby:stash 5.480000 2.010000 7.490000 ( 12.349059)
set-ruby-large:libm 33.820000 2.340000 36.160000 ( 43.061537)
set-ruby-large:libm:binary 33.430000 2.260000 35.690000 ( 41.940845)
set-ruby-large:libm:noblock 34.170000 0.930000 35.100000 ( 35.632694)
set-ruby-large:libm:noblock_binary 34.010000 0.930000 34.940000 ( 35.383141)
set-ruby-large:libm:udp 33.150000 1.430000 34.580000 ( 39.521448)
set-ruby-large:ruby 48.830000 6.560000 55.390000 ( 55.750071)
set-ruby-large:stash 38.660000 2.230000 40.890000 ( 46.957838)
get-ruby-large:libm 23.570000 2.340000 25.910000 ( 32.166590)
get-ruby-large:libm:binary 23.420000 2.510000 25.930000 ( 31.953854)
get-ruby-large:libm:noblock 23.840000 3.040000 26.880000 ( 32.919639)
get-ruby-large:libm:noblock_binary 23.570000 2.970000 26.540000 ( 32.210027)
get-ruby-large:libm:udp 23.210000 1.460000 24.670000 ( 29.284808)
get-ruby-large:ruby 41.170000 7.560000 48.730000 ( 49.507358)
get-ruby-large:stash 25.760000 2.540000 28.300000 ( 33.998493)
hash:fnv1a_64 0.240000 0.000000 0.240000 ( 0.247813)
hash:murmur 0.190000 0.000000 0.190000 ( 0.193039)
hash:default 0.220000 0.000000 0.220000 ( 0.216573)
hash:jenkins 0.220000 0.000000 0.220000 ( 0.222694)
hash:md5 0.390000 0.000000 0.390000 ( 0.395159)
hash:crc 0.210000 0.000000 0.210000 ( 0.216457)
hash:hsieh 0.100000 0.000000 0.100000 ( 0.104386)
hash:fnv1_32 0.220000 0.000000 0.220000 ( 0.216769)
hash:fnv1a_32 0.230000 0.000000 0.230000 ( 0.237016)
hash:fnv1_64 0.450000 0.010000 0.460000 ( 0.454704)