Improve Dalli IO performance
----------------------------

                 Key: JRUBY-5596
                 URL: http://jira.codehaus.org/browse/JRUBY-5596
             Project: JRuby
          Issue Type: Improvement
    Affects Versions: JRuby 1.6
            Reporter: Mike Perham
            Assignee: Thomas E Enebo


I've got a decent set of benchmarks for testing Dalli performance.  JRuby 
doesn't fare too well compared to 1.9 and Rubinius.

1.9:
{noformat}
Testing 1.0.3 with ruby 1.9.2p136 (2010-12-25 revision 30365) 
[x86_64-darwin10.6.0]
Found memcached 1.4.5 in PATH
                                     user     system      total        real
set:plain:dalli                  1.770000   0.300000   2.070000 (  2.079996)
setq:plain:dalli                 0.570000   0.130000   0.700000 (  0.711160)
set:ruby:dalli                   1.840000   0.300000   2.140000 (  2.141172)
get:plain:dalli                  1.870000   0.330000   2.200000 (  2.204038)
get:ruby:dalli                   1.880000   0.330000   2.210000 (  2.217543)
multiget:ruby:dalli              0.850000   0.250000   1.100000 (  1.096912)
missing:ruby:dalli               1.720000   0.320000   2.040000 (  2.043740)
mixed:ruby:dalli                 3.700000   0.630000   4.330000 (  4.333945)
mixedq:ruby:dalli                2.840000   0.530000   3.370000 (  3.374045)
incr:ruby:dalli                  0.620000   0.110000   0.730000 (  0.727958)
.
Finished in 21.045278 seconds.
{noformat}

Jruby 1.6.0:
{noformat}
> jruby --1.9 -S rake bench
(in /Users/mperham/src/git/dalli)
Using standard socket IO (jruby 1.6.0 (ruby 1.9.2 patchlevel 136) (2011-03-15 
f3b6154) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_24) [darwin-x86_64-java])
Loaded suite 
/Users/mperham/.rvm/gems/jruby-1.6.0@global/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
Testing 1.0.3 with jruby 1.6.0 (ruby 1.9.2 patchlevel 136) (2011-03-15 f3b6154) 
(Java HotSpot(TM) 64-Bit Server VM 1.6.0_24) [darwin-x86_64-java]
Found memcached 1.4.5 in PATH
                                     user     system      total        real
set:plain:dalli                 12.937000   0.000000  12.937000 ( 12.936000)
setq:plain:dalli                 1.141000   0.000000   1.141000 (  1.141000)
set:ruby:dalli                   9.369000   0.000000   9.369000 (  9.369000)
get:plain:dalli                  9.368000   0.000000   9.368000 (  9.368000)
get:ruby:dalli                   8.601000   0.000000   8.601000 (  8.601000)
multiget:ruby:dalli              2.200000   0.000000   2.200000 (  2.200000)
missing:ruby:dalli               8.645000   0.000000   8.645000 (  8.645000)
mixed:ruby:dalli                16.974000   0.000000  16.974000 ( 16.975000)
mixedq:ruby:dalli               10.412000   0.000000  10.412000 ( 10.412000)
incr:ruby:dalli                  2.996000   0.000000   2.996000 (  2.996000)
.
Finished in 82.879000 seconds.
{noformat}

Almost 4x slower.  :-(  I'd love to see this performance improve.  You can try 
to reproduce this yourself if you have memcached 1.4 installed and running 
locally (brew install memcached; /usr/local/bin/memcached -d):

{noformat}
git clone git://github.com/mperham/dalli.git
cd dalli
bundle install
jruby --1.9 -S rake bench
{noformat}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to