MagLev, Ruby VM on Gemstone OODB, Wows RailsConf 132
murphee ends along a report from InfoQ: "Gemstone demoed [MagLev,] their Ruby VM built on their GemStone S64 VM, to an ecstatic audience. Gemstone's Smalltalk VM allows OODBs of up to 17 PetaBytes, with none of the old ActiveRecord nonsense: the data is persisted transparently. The Gemstone OODB also takes care of any distribution, allowing the Ruby VM and data to scale across many servers (Cheerio, memcached!). There's also an earlier quite technical interview with Gemstone's Bob Walker and Avi Bryant about MagLev."
Re:I'm sorry... (Score:5, Informative)
OODB = Object Oriented Database (possibly a OODB type of model) helps in translating that from specialist to mere geek.
WTF ?! (Score:1, Informative)
Re:Sounds cool, but not open (Score:3, Informative)
Great Ruby news (Score:5, Informative)
Railsconf is a good opportunity for Gemstone to show off their object persistence, since it would benefit Ruby on Rails (which uses O/RM that may not be necessary any more.)
Re:I'm sorry... (Score:3, Informative)
And I, for one, wouldn't want to work for you for failing to understand what the GP was saying.
Talk really did wow the conference (Score:5, Informative)
One of the reasons this is exciting is that many Ruby/Rails programmers have suffered from the criticism that their platform is elegant and fast to develop in, but that it doesn't scale well. MagLev sure looked like it could go a long way toward addressing those concerns. And since it hits Ruby right at the VM level, it is potentially useful to anyone running any kind of Ruby app whether on Rails or not.
Of course, we'll see when it's done...
Re:Sounds cool, but not open (Score:4, Informative)
Video of Avi Bryant talk from 2007 (Score:4, Informative)
Basically he's saying that many of the performance issues with the much-maligned Ruby VM were solved years ago in Smalltalk implementations, and that Ruby ought to incorporate those ideas. Maglev is a big step in this direction.
Re:I'm sorry... (Score:4, Informative)
Indeed, incredibly poor summary.
Basically, GemStone, a company which has been working on large-scale object-oriented database systems [wikipedia.org] and a Smalltalk implementation (GemStone/S) for decades, has decided to support Ruby on their infrastructure. Turns out Ruby is indeed quite similar to Smalltalk, and some microbenchmarks already show them as being 8~60x faster than MRI (the main Ruby 1.8 implementation). Should those numbers remain consistent, this will be an incredibly fast implementation of a popular scripting language, surpassing by Python, PHP, Lua, and other Ruby implementations in raw numbers.
This might be a massive push for Ruby/Rails on "enterprise" systems. And if they succeed, this could also be one interesting step reviving the popularity of OODBMSs.
Re:I'm sorry... (Score:2, Informative)
Definitely not. They've been talking about a free-gratis version, and there's chance they will open some of their standard library (possibly sharing part of it with Rubinius, since both have a similar goal of writing as much as possible directly in Ruby), but you shouldn't expect them opening their VM or OODB stuff anytime soon.
But well, if anything, they show how far open implementations of dynamic languages can get performance-wise. The current breed of languages has always lagged behind the old ones (like Lisp and Smalltalk), and this is great proof there's no technical reason for that.
Re:I'm sorry... (Score:5, Informative)
Basically, GemStone, a company which has been working on large-scale object-oriented database systems [wikipedia.org] and a Smalltalk implementation (GemStone/S)
To oversimplify, GemStone's Smalltalk VM is an OODB. It adds the following features to the language:
1) Begin transaction, commit transaction, abort transaction.
2) All of your process space, your global variables, your datastructures etc. are persisted. You can switch power-cycle your computer and have the same program running as used to run before.
I'm sure they did the same for Ruby with maglev.
This approach cuts out layers and layers of persistence crap. Bye bye object-relational persistence mapping crud.