On Tue, Sep 30, 2014 at 12:06 PM, vtamara <[email protected]> wrote:
> First thank you for your work with ruby on OpenBSD, I'm doing some > projects on RoR with it. > > I have not tested much rubinius --just I see that some of my projects > compile with rbx on travis-ci. > > However I notice: > * Recent rbx supports mri 2.1 (http://rubini.us/doc/en/ > guides/migrating-from-mri-to-rubinius/) > First, this is false, rubinius does not implement the ruby 2.1 API. There are significant ruby 2.0 features that rubinius doesn't implement, such as refinements. It's basically ruby 2.1 minus the things rubinius doesn't implement. > * There are some good results in benchmarks for rbx compared to mri and > even jruby -- http://miguelcamba.com/blog/2013/10/05/benchmarking-the- > ruby-2-dot-1-and-rubinius-2-dot-0/ Those are probably using an LLVM-enabled rubinius, and our rubinius port isn't LLVM-enabled as it doesn't support the version of LLVM in ports. Performance for non-LLVM-enabled rubinius is significantly worse than MRI or JRuby. Truth be told, even when rubinius was LLVM-enabled, performance wasn't good compared to MRI if you were using any C extensions. Since possibly you have more experience on this, do you think there is noticiable difference > for a Rails application when used with rbx over mri ? > It will be noticeably slower. It's possible that multi-threaded code could perform better (as rubinius does not have a giant lock like MRI does), but that is unlikely. > If that is the case I would like to test the ports *-rbx, for the projects > I have I think I would test > at least postgresql and bcrypt. > Testing is about all the rubinius port is really good for currently. Note that you can still build rbx-* versions of all of the ports manually using FLAVOR=rbx, they will just no longer be built by default. Yes, this is a pain if you want to test your code with rubinius, and I probably do that more than any other OpenBSD user. But as I mentioned in my previous email, if we are no longer building ruby 1.8 and 1.9 ports, it doesn't make sense to build rubinius ports. Thanks, Jeremy
