Load Test Rails4 app ruby 2.1 MRI Vs Rubinius 2.0
gist.github.com
gist.github.com
Also, this is in dev mode... did you disable Rack::Lock?
MRI can only handle 1 request at a time, Rubinius can handle whatever your concurrency level is (assuming you've removed Rack::Lock from your environment)
This most likely means Rack::Lock is used in your test.
This is a fair point. You should run ab multiple times over a longer duration of time. 5 seconds seems like a short time to declare an absolute winner.
Some questions:
* How is startup time controlled for?
* Why only one run?
* Why so few requests?
* Why no warmup period?
* Why this particular configuration?
* What is the OS, hardware configuration?
* Why is it running in a development environment instead of a test or prod environment?
iMac Intel Core 2 Duo 3,06 GHz cpu 1
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000However, being the ACM, it's basically inaccessible unless you sell a kidney.
An organisation with a slightly more industrial focus is the Computer Measurement Group[3]. Like the ACM ... bring money.
[1] http://www.sigmetrics.org/
[2] http://dl.acm.org/citation.cfm?id=2518025&CFID=252561427&CFT...
* 1 load balancer that plays round robin on the requests.
* 1 server running MRI
* 1 server running Rubinius
Each with NewRelic installed and compare the A/B test that is taking place for a period of about a week of heavy usage. Obviously the gems that the rubinius application would have would be different than what the MRI gems would be. But the core of the application would remain the same.
This would give me and others better insight as to how the two interpreters are running in a production.
So which is correct?