Skip to content

Latest commit

 

History

History
85 lines (70 loc) · 4.85 KB

Performance.md

File metadata and controls

85 lines (70 loc) · 4.85 KB

Performance

Caching is all about performance, so I carefully track Dalli performance to ensure no regressions. Times are from a Unibody MBP 2.4Ghz Core i5 running Snow Leopard.

You can optionally use kgio to give Dalli a small, 10-20% performance boost: gem install kgio.

memcache-client

Testing 1.8.5 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]

                                     user     system      total        real
set:plain:memcache               2.070000   0.340000   2.410000 (  2.611709)
set:ruby:memcache                1.990000   0.330000   2.320000 (  2.869653)
get:plain:memcache               2.290000   0.360000   2.650000 (  2.926425)
get:ruby:memcache                2.360000   0.350000   2.710000 (  2.951604)
multiget:ruby:memcache           1.050000   0.120000   1.170000 (  1.285787)
missing:ruby:memcache            1.990000   0.330000   2.320000 (  2.567641)
mixed:ruby:memcache              4.390000   0.670000   5.060000 (  5.721000)
incr:ruby:memcache               0.700000   0.120000   0.820000 (  0.842896)

libmemcached

Testing 1.1.2 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]

                                     user     system      total        real
set:plain:libm                   0.120000   0.220000   0.340000 (  0.847521)
setq:plain:libm                  0.030000   0.000000   0.030000 (  0.126944)
set:ruby:libm                    0.220000   0.250000   0.470000 (  1.102789)
get:plain:libm                   0.140000   0.230000   0.370000 (  0.813998)
get:ruby:libm                    0.210000   0.240000   0.450000 (  1.025994)
multiget:ruby:libm               0.100000   0.080000   0.180000 (  0.322217)
missing:ruby:libm                0.250000   0.240000   0.490000 (  1.049972)
mixed:ruby:libm                  0.400000   0.410000   0.810000 (  2.172349)
mixedq:ruby:libm                 0.410000   0.360000   0.770000 (  1.516718)
incr:ruby:libm                   0.080000   0.340000   0.420000 (  1.685931)

dalli

Using kgio socket IO Testing 1.0.2 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]

                                     user     system      total        real
set:plain:dalli                  0.850000   0.320000   1.170000 (  1.691393)
setq:plain:dalli                 0.500000   0.130000   0.630000 (  0.651227)
set:ruby:dalli                   0.900000   0.330000   1.230000 (  1.865228)
get:plain:dalli                  0.990000   0.390000   1.380000 (  1.929994)
get:ruby:dalli                   0.950000   0.370000   1.320000 (  1.844251)
multiget:ruby:dalli              0.790000   0.300000   1.090000 (  1.227073)
missing:ruby:dalli               0.810000   0.370000   1.180000 (  1.627039)
mixed:ruby:dalli                 1.850000   0.710000   2.560000 (  3.555032)
mixedq:ruby:dalli                1.840000   0.610000   2.450000 (  2.945982)
incr:ruby:dalli                  0.310000   0.120000   0.430000 (  0.616465)

Testing 1.0.2 with rubinius 1.3.0dev (1.8.7 382e813f xxxx-xx-xx JI) [x86_64-apple-darwin10.6.0]

                                     user     system      total        real
set:plain:dalli                  2.800581   0.329360   3.129941 (  5.186546)
setq:plain:dalli                 1.064253   0.138044   1.202297 (  1.280355)
set:ruby:dalli                   2.220885   0.262619   2.483504 (  2.778118)
get:plain:dalli                  2.291344   0.280490   2.571834 (  2.948004)
get:ruby:dalli                   2.148900   0.274477   2.423377 (  2.425808)
multiget:ruby:dalli              1.724193   0.249145   1.973338 (  2.158673)
missing:ruby:dalli               1.881502   0.272610   2.154112 (  2.208384)
mixed:ruby:dalli                 4.292620   0.533768   4.826388 (  4.830238)
mixedq:ruby:dalli                4.076032   0.501442   4.577474 (  4.583800)
incr:ruby:dalli                  0.691467   0.091475   0.782942 (  0.931674)

Testing 1.0.2 with rubinius 1.2.0 (1.8.7 release 2010-12-21 JI) [x86_64-apple-darwin10.6.0]

                                     user     system      total        real
set:plain:dalli                  6.586927   0.331545   6.918472 (  4.628652)
setq:plain:dalli                 0.930905   0.129008   1.059913 (  1.016105)
set:ruby:dalli                   2.702486   0.283004   2.985490 (  2.690442)
get:plain:dalli                  2.740202   0.291353   3.031555 (  2.722746)
get:ruby:dalli                   1.979379   0.282986   2.262365 (  2.264118)
multiget:ruby:dalli              1.887086   0.249799   2.136885 (  1.803230)
missing:ruby:dalli               1.882662   0.278019   2.160681 (  2.113429)
mixed:ruby:dalli                 3.969242   0.553361   4.522603 (  4.524504)
mixedq:ruby:dalli                3.520755   0.475669   3.996424 (  3.997405)
incr:ruby:dalli                  0.849998   0.094012   0.944010 (  0.884001)