-O in those tests as well?  ObjectSpace hugely skews these numbers....

-Tom

On 9/25/07, Christian Seiler <[EMAIL PROTECTED]> wrote:
>
> I also ran the petstore benchmark a couple of times today with
> different setup options. The petstore app as it is in SVN does some
> heavy logging, so I decided not only to test JRuby 1.0.1 but also
> the latest fixes-1_0 branch (with slow IO being fixed).
>
> The setup procedure was like Alexey described in one of his previous
> postings. I tested the ar-jdbc version only.
>
> My results:
>
> 1.0.x
> controller :   5.729000   0.000000   5.729000 (  5.729000)
> view       :  21.572000   0.000000  21.572000 ( 21.572000)
> full action:  42.043000   0.000000  42.043000 ( 42.043000)
>
>
> 1.0.x -J-Djruby.jit.enabled=false
> controller :   5.337000   0.000000   5.337000 (  5.337000)
> view       :  19.633000   0.000000  19.633000 ( 19.633000)
> full action:  38.506000   0.000000  38.506000 ( 38.506000)
>
> TRUNK
> controller :   5.427000   0.000000   5.427000 (  5.428000)
> view       :  18.653000   0.000000  18.653000 ( 18.653000)
> full action:  50.560000   0.000000  50.560000 ( 50.560000)
>
> TRUNK -J-Djruby.jit.enabled=false
> controller :   6.671000   0.000000   6.671000 (  6.671000)
> view       :  18.512000   0.000000  18.512000 ( 18.512000)
> full action:  49.191000   0.000000  49.191000 ( 49.192000)
>
> 1.0.1
> controller :   8.909000   0.000000   8.909000 (  8.909000)
> view       :  25.409000   0.000000  25.409000 ( 25.409000)
> full action:  52.643000   0.000000  52.643000 ( 52.643000)
>
> 1.0.1 -J-Djruby.jit.enabled=false
> controller :   8.618000   0.000000   8.618000 (  8.618000)
> view       :  23.495000   0.000000  23.495000 ( 23.495000)
> full action:  50.521000   0.000000  50.521000 ( 50.521000)
>
>
> and some benchmarks using server Hotspot:
>
> TRUNK -J-server
> controller :   5.428000   0.000000   5.428000 (  5.428000)
> view       :  17.659000   0.000000  17.659000 ( 17.659000)
> full action:  43.340000   0.000000  43.340000 ( 43.340000)
>
> TRUNK -J-server -J-Djruby.jit.enabled=false
> controller :   5.636000   0.000000   5.636000 (  5.636000)
> view       :  13.643000   0.000000  13.643000 ( 13.643000)
> full action:  36.770000   0.000000  36.770000 ( 36.770000)
>
> 1.0.x -J-server
> controller :   5.415000   0.000000   5.415000 (  5.415000)
> view       :  18.243000   0.000000  18.243000 ( 18.243000)
> full action:  38.209000   0.000000  38.209000 ( 38.209000)
>
> 1.0.x -J-server -J-Djruby.jit.enabled=false
> controller :   4.578000   0.000000   4.578000 (  4.578000)
> view       :  15.037000   0.000000  15.037000 ( 15.037000)
> full action:  32.002000   0.000000  32.002000 ( 32.002000)
>
> MRI:
> controller :   2.010000   0.100000   2.110000 (  2.248452)
> view       :   9.420000   0.730000  10.150000 ( 10.183790)
> full action:  17.250000   1.120000  18.370000 ( 19.341900)
>
>
> => my (partially weird?) results:
> 1. 1.0.x is faster than trunk
> 2. 1.0.1 is slower than trunk (probably due to slow file IO)
> 3. most tests run faster without JIT (only controller part seems
> to be faster with JIT)!!
> 4. fastest JRuby setup (1.0.x / nojit / -server): about 50% of MRI
> performance
>
> Any idea? Trunk faster than 1.0.x and JIT causing a slowdown??
> Is there a special issue with my hardware (maybe Hotspot / CPU related)?
>
> My setup (Ubuntu this time):
> Hardware: IBM Thinkpad R40, an older one (Intel(R) Pentium(R) M processor
> 1300MHz, 1024MB cache, 1199.90 bogomips)
> OS: Ubuntu 7.04
> Kernel: 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux
> Ruby: ruby 1.8.5 (2006-08-25) [i486-linux]
> JRuby: trunk rev 4384, fixes-1_0 rev 4385
> Database: MySQL 5.0.38
> Application: Petstore rev 177
>
>
>
> Alexey Verkhovsky-2 wrote:
> >
> > Some new numbers.
> >
> > SUMMARY
> >
> > In Petstore script/benchmark_action:
> >   * trunk runs two times faster than 1.0.1
> >   * there seems to be a significant bottleneck somewhere in executing
> > the Rails framework
> >   * when framework processing is excluded, JRuby is about 1.5 times
> > slower than MRI
> >   * Unlike earlier test runs, AR-JDBC in the current trunk has a
> > noticeable advantage over pure-Ruby MySQL driver
> >
> > DETAILS
> >
> > Ola and yours truly are on the next iteration of JRuby performance
> > tuning for Rails. I wrote a couple of scripts to drill down into
> > various parts of Rails, to decide where to focus.
> >
> > The scripts, essentially, measure the average roundtrip time of
> > app.get('url'), controller.send(action) and controller.render(), by
> > 1000 iterations of each block, 10 runs.
> >
> > JRuby JIT compiler is warmed up by 10000 iterations of each test prior
> > to measurements. The numbers reported below are from the 10th run.
> > Variation between last 5 runs in all of these tests is under 5%, so
> > it's doesn't really matter that it's not an average.
> >
> > Note that there is no web server, and no session handling involved in
> > these tests.
> > Also, note that the relative amount of database / model work involved
> > in CategoriesController#show is rather small.
> >
> > Here are the numbers:
> >
> > Runtime       MRI             Jruby           Jruby 1.0.1
> > DB driver     native  pure Ruby       AR-JDBC pure Ruby       AR-JDBC
> >
> > Controller    1.1     2.0     1.7     2.5     7.19
> > View  4.5     4.4     6.7     6.6     17.08
> > Framework     2.7     3.5     9.3     9.5     11.8
> > Full action   8.3     9.9     17.7    18.6    36.03
> >
> > JRuby 1.0.1 / AR-JDBC:
> > controller :   1.867000   0.000000   1.867000 (  1.867000)
> >
> >
> > TEST SETUP AND PROCEDURE
> >
> > Hardware: Dell D620
> > OS: Ubuntu 7.04
> > Kernel: 2.6.20-16-generic #2 SMP Fri Aug 31 00:55:27 UTC 2007 i686
> > GNU/Linux, default from the distro.
> > Ruby: ruby 1.8.5 (2007-03-13 patchlevel 35) [i686-linux]
> > JRuby: trunk rev 4384
> > Database: MySQL 5.0.38 (binary from the distro)
> > Application: Petstore from
> > http://tw-commons.rubyforge.org/svn/petstore/trunk/ (rev 177).
> > Measuring:
> >   Ruby: echo 'load "script/benchmark_action"' | ruby script/console
> > production
> >   JRuby: echo 'load "script/benchmark_action"' | jruby
> > -J-Djruby.objectspace.enabled=false script/console production
> >       # replace production with ar_jdbc for running with AR:JDBC driver
> >
> > --
> > Alexey Verkhovsky
> > CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com]
> > RubyWorks [http://rubyworks.thoughtworks.com]
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list please visit:
> >
> >     http://xircles.codehaus.org/manage_email
> >
> >
> >
>
> --
> View this message in context: 
> http://www.nabble.com/JRuby-vs-MRI---Petstore-shootout-tf4289470.html#a12884516
> Sent from the JRuby - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>


-- 
Blog: http://www.bloglines.com/blog/ThomasEEnebo
Email: [EMAIL PROTECTED] , [EMAIL PROTECTED]

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

    http://xircles.codehaus.org/manage_email

Reply via email to