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