<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Maglev and the naiivety of the Rails community</title>
	<atom:link href="http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/feed/" rel="self" type="application/rss+xml" />
	<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/</link>
	<description>「偶然世界」で出逢い</description>
	<lastBuildDate>Sun, 14 Mar 2010 06:38:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-24563</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Wed, 17 Dec 2008 13:57:06 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-24563</guid>
		<description>Wow, I&#039;m amazed anyone is still watching this old post. If I&#039;d know it would get any kind of attention, I would have written it a lot better. I especially wish I could get rid of that crap about the DBs, which was pretty unnecessary and just distracts from the main thrust.

Vindicated? Well, maybe a little, but the thing is if I claim vindication I&#039;m committing the exact same offense I railed against - drawing conclusions from inadequate data. Time will tell.

I defer to Wincent&#039;s analysis of the situation regarding GC&#039;ing languages. In that area, not only do I not know what I&#039;m talking about, I don&#039;t even pretend to, unlike Ruby ;-)

Beoran: I agree completely. I will never lock myself into some proprietary system. Anyone who developed anything using the whole Maglev toolchain would be chained to it for life. This is so against my principles, and what I believe the Ruby principles to be, that I also don&#039;t care about any other factors, I&#039;m not using it. There are very few exceptions to this rule.

Non-portable Ruby apps running on a (binary-distributed) proprietary VM - which you got from a company that makes &quot;their money by extracting large amounts of money from a small number of customers.&quot; Gee, where can I get in line for that dream come true?</description>
		<content:encoded><![CDATA[<p>Wow, I&#8217;m amazed anyone is still watching this old post. If I&#8217;d know it would get any kind of attention, I would have written it a lot better. I especially wish I could get rid of that crap about the DBs, which was pretty unnecessary and just distracts from the main thrust.</p>
<p>Vindicated? Well, maybe a little, but the thing is if I claim vindication I&#8217;m committing the exact same offense I railed against &#8211; drawing conclusions from inadequate data. Time will tell.</p>
<p>I defer to Wincent&#8217;s analysis of the situation regarding GC&#8217;ing languages. In that area, not only do I not know what I&#8217;m talking about, I don&#8217;t even pretend to, unlike Ruby <img src='http://fukamachi.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Beoran: I agree completely. I will never lock myself into some proprietary system. Anyone who developed anything using the whole Maglev toolchain would be chained to it for life. This is so against my principles, and what I believe the Ruby principles to be, that I also don&#8217;t care about any other factors, I&#8217;m not using it. There are very few exceptions to this rule.</p>
<p>Non-portable Ruby apps running on a (binary-distributed) proprietary VM &#8211; which you got from a company that makes &#8220;their money by extracting large amounts of money from a small number of customers.&#8221; Gee, where can I get in line for that dream come true?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Beoran</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-24562</link>
		<dc:creator>Beoran</dc:creator>
		<pubDate>Wed, 17 Dec 2008 10:17:05 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-24562</guid>
		<description>Despite the storm caused by this blog post. I must say I generally agree with the gist of it. Free software comes first. Even if Maglev turns out to be a hundred times faster than MRI, I won&#039;t go anywhere near Maglev unless it&#039;s source is released under a free software license. Until that happens, Maglev is of zero interest to me.</description>
		<content:encoded><![CDATA[<p>Despite the storm caused by this blog post. I must say I generally agree with the gist of it. Free software comes first. Even if Maglev turns out to be a hundred times faster than MRI, I won&#8217;t go anywhere near Maglev unless it&#8217;s source is released under a free software license. Until that happens, Maglev is of zero interest to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wincent Colaiuta</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-24561</link>
		<dc:creator>Wincent Colaiuta</dc:creator>
		<pubDate>Wed, 17 Dec 2008 10:05:24 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-24561</guid>
		<description>Yeah, Sho&#039;s vindicated and &quot;Malloc/free had been obsolete for most applications since 1982&quot; is patently false. There are a lot of current, great applications that use malloc/free. Of the 15 apps I have running on my desktop right now, pretty much _everything_ is a malloc/free beast. All of these are modern, high-performing, useful applications. The one exception is a Java app. Funnily enough, it is the slowest, most bloated, and ugliest of the lot.</description>
		<content:encoded><![CDATA[<p>Yeah, Sho&#8217;s vindicated and &#8220;Malloc/free had been obsolete for most applications since 1982&#8243; is patently false. There are a lot of current, great applications that use malloc/free. Of the 15 apps I have running on my desktop right now, pretty much _everything_ is a malloc/free beast. All of these are modern, high-performing, useful applications. The one exception is a Java app. Funnily enough, it is the slowest, most bloated, and ugliest of the lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-24558</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Wed, 17 Dec 2008 03:58:59 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-24558</guid>
		<description>Kragen, thanks for the new comment on this old post. 

Well, what you say about the interpreter is true enough, even YARV is far from the state of the art. It&#039;s possible that a more modern VM will indeed produce large gains. The argument is how large, while still maintaining full compatibility?

We don&#039;t know, and the product is still vapourware. &lt;a href=&quot;http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/&quot; rel=&quot;nofollow&quot;&gt;Recent benchmarks&lt;/a&gt; indicate it&#039;s around twice as fast as MRI in current alpha stage. Hardly a pants-jizzing improvement, then.

The way some of the above &quot;experts&quot; talk, Ruby is such a minor variation on SmallTalk that the adaptation of Gemstone&#039;s VM to implement it is barely an afternoon&#039;s work for those hitherto-unsung geniuses. Well, six months later, what do we have? A half-working alpha which is slower than YARV. 

Now, it is certainly possibly that they will manage to eke out further gains, if they ever do finish it. But let&#039;s remember the atmosphere of unquestioning hype which surrounded their premature announcement, and which prompted this highly skeptical post. Let me quote from one of the articles I linked to:

&lt;blockquote&gt;we got to see some preliminary performance data that showed an order of magnitude or TWO increase over MRI 1.8&lt;/blockquote&gt;

This is the reason I was so negative in my post. These Gemstone guys got up on stage, showed a couple of completely irrelevant micro-benchmarks that showed their incompatible alpha running some tiny subset of something, and obviously left people with the impression that their VM would be one or two orders of magnitude faster than MRI.

I&#039;d like to point out I didn&#039;t say it was completely and utterly impossible. I just said I don&#039;t believe a fully compatible implementation will be able to reach anything like those speeds, and I would require a pretty high standard of proof before I abandoned that position. 6 months later, that proof has not arrived, and in fact I seem to be vindicated somewhat by the yawn-inducing recent benchmarks, which show a massive speedup on some tasks but a far lesser increase across the board. 

Still, we&#039;ll wait and see. To quote myself: A Ruby implementation is 100% compatible with MRI or it’s no Ruby implementation at all. For the time being, Maglev is not a Ruby implementation and until it is, this discussion is over.

Your explanation of Gemstone&#039;s business model of locking a small number of customers into their proprietary system and then screwing them for all they&#039;re worth does not exactly fill me with love. 

Regarding your comment about ODBMSs: Funnily enough, I am actually quite a fan of them. For interests&#039; sake I actually wrote a kind of mini-ODBMS earlier this year trying to store object graphs around the place in some kind of ordered fashion, basically marshalling in and out of CouchDB with a neat object linking system. It was great fun. However, your comment about not suffering market rejection is disingenuous. 

When I talked about DBs, I believe it was quite self-evident I was referring to shared data repositories - what Fowler called an IntegrationDatabase. An ApplicationDatabase is a much more specialised, varied, and usually small-scale, animal. Yes, applications store their state, and that state is often in the form of objects, whether marshalled or stored in an ODBMS. There are, indisputably, many such applications, and many such implementations. However, they&#039;re not counted in the IntegrationDatabase world I was talking about. I wouldn&#039;t have thought it necessary to even draw that distinction, but there you are.

Anyway, in summary, I have not yet seen any proof, or even any good evidence, that Gemstone&#039;s claims were, or will be any time soon, realistic. I retain my distaste for the way the company very deliberately hyped its vapourware product, and I stand by my disappointment of the Rails community&#039;s unquestioning acceptance of that hype. However, it was a while ago now, everyone&#039;s moved on, and I think Gemstone will really only hurt themselves in the end, so whatever.</description>
		<content:encoded><![CDATA[<p>Kragen, thanks for the new comment on this old post. </p>
<p>Well, what you say about the interpreter is true enough, even YARV is far from the state of the art. It&#8217;s possible that a more modern VM will indeed produce large gains. The argument is how large, while still maintaining full compatibility?</p>
<p>We don&#8217;t know, and the product is still vapourware. <a href="http://antoniocangiano.com/2008/12/09/the-great-ruby-shootout-december-2008/" rel="nofollow">Recent benchmarks</a> indicate it&#8217;s around twice as fast as MRI in current alpha stage. Hardly a pants-jizzing improvement, then.</p>
<p>The way some of the above &#8220;experts&#8221; talk, Ruby is such a minor variation on SmallTalk that the adaptation of Gemstone&#8217;s VM to implement it is barely an afternoon&#8217;s work for those hitherto-unsung geniuses. Well, six months later, what do we have? A half-working alpha which is slower than YARV. </p>
<p>Now, it is certainly possibly that they will manage to eke out further gains, if they ever do finish it. But let&#8217;s remember the atmosphere of unquestioning hype which surrounded their premature announcement, and which prompted this highly skeptical post. Let me quote from one of the articles I linked to:</p>
<blockquote><p>we got to see some preliminary performance data that showed an order of magnitude or TWO increase over MRI 1.8</p></blockquote>
<p>This is the reason I was so negative in my post. These Gemstone guys got up on stage, showed a couple of completely irrelevant micro-benchmarks that showed their incompatible alpha running some tiny subset of something, and obviously left people with the impression that their VM would be one or two orders of magnitude faster than MRI.</p>
<p>I&#8217;d like to point out I didn&#8217;t say it was completely and utterly impossible. I just said I don&#8217;t believe a fully compatible implementation will be able to reach anything like those speeds, and I would require a pretty high standard of proof before I abandoned that position. 6 months later, that proof has not arrived, and in fact I seem to be vindicated somewhat by the yawn-inducing recent benchmarks, which show a massive speedup on some tasks but a far lesser increase across the board. </p>
<p>Still, we&#8217;ll wait and see. To quote myself: A Ruby implementation is 100% compatible with MRI or it’s no Ruby implementation at all. For the time being, Maglev is not a Ruby implementation and until it is, this discussion is over.</p>
<p>Your explanation of Gemstone&#8217;s business model of locking a small number of customers into their proprietary system and then screwing them for all they&#8217;re worth does not exactly fill me with love. </p>
<p>Regarding your comment about ODBMSs: Funnily enough, I am actually quite a fan of them. For interests&#8217; sake I actually wrote a kind of mini-ODBMS earlier this year trying to store object graphs around the place in some kind of ordered fashion, basically marshalling in and out of CouchDB with a neat object linking system. It was great fun. However, your comment about not suffering market rejection is disingenuous. </p>
<p>When I talked about DBs, I believe it was quite self-evident I was referring to shared data repositories &#8211; what Fowler called an IntegrationDatabase. An ApplicationDatabase is a much more specialised, varied, and usually small-scale, animal. Yes, applications store their state, and that state is often in the form of objects, whether marshalled or stored in an ODBMS. There are, indisputably, many such applications, and many such implementations. However, they&#8217;re not counted in the IntegrationDatabase world I was talking about. I wouldn&#8217;t have thought it necessary to even draw that distinction, but there you are.</p>
<p>Anyway, in summary, I have not yet seen any proof, or even any good evidence, that Gemstone&#8217;s claims were, or will be any time soon, realistic. I retain my distaste for the way the company very deliberately hyped its vapourware product, and I stand by my disappointment of the Rails community&#8217;s unquestioning acceptance of that hype. However, it was a while ago now, everyone&#8217;s moved on, and I think Gemstone will really only hurt themselves in the end, so whatever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kragen Javier Sitaker</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-24554</link>
		<dc:creator>Kragen Javier Sitaker</dc:creator>
		<pubDate>Tue, 16 Dec 2008 23:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-24554</guid>
		<description>&lt;blockquote&gt;
It seems to me that unless JRuby (and, more to the point, YARV) started from (and still use) some fundamentally flawed, obsolete theory of language interpreters/VMs, then the idea that there are these massive uncollected performance gains just waiting for someone to harvest by implementing a more mature VM is hard to believe.
&lt;/blockquote&gt;

I think that&#039;s a pretty accurate summary of the state of affairs.  YARV started from and still uses a fundamentally inefficient, obsolete theory of language interpreters, so there are these massive uncollected performance gains just waiting for someone to harvest by implementing a more mature VM.  Non-JIT interpretation has been obsolete for more than ten years now, but people outside academia mostly don&#039;t know that yet.  Hopefully Maglev, v8, SquirrelFish Extreme, HIPE, and TraceMonkey will bring that into the mainstream now, the way Perl (and later Java) did for garbage collection.  (Malloc/free had been obsolete for most applications since 1982.)

JRuby is crippled differently: although its fundamental model is valid (compile to an intermediate language which then gets JITted to machine code), it compiles to bytecode for a JIT designed for a language with a very different type system, and they don&#039;t have the freedom to change the JIT or the bytecode format.  This is an argument in favor of open source, obviously.

Gemstone is a high-end Smalltalk system; you haven&#039;t heard of it because they make their money by extracting large amounts of money from a small number of customers.  Progress ObjectStore is still widely used, but mostly as what Martin Fowler calls an ApplicationDatabase, not an IntegrationDatabase --- largely inside CAD systems and the like.  ODBMSs haven&#039;t been as much of a success as the Statice guys were hoping when they started ObjectStore, but they certainly haven&#039;t suffered the resounding market rejection you paint.</description>
		<content:encoded><![CDATA[<blockquote><p>
It seems to me that unless JRuby (and, more to the point, YARV) started from (and still use) some fundamentally flawed, obsolete theory of language interpreters/VMs, then the idea that there are these massive uncollected performance gains just waiting for someone to harvest by implementing a more mature VM is hard to believe.
</p></blockquote>
<p>I think that&#8217;s a pretty accurate summary of the state of affairs.  YARV started from and still uses a fundamentally inefficient, obsolete theory of language interpreters, so there are these massive uncollected performance gains just waiting for someone to harvest by implementing a more mature VM.  Non-JIT interpretation has been obsolete for more than ten years now, but people outside academia mostly don&#8217;t know that yet.  Hopefully Maglev, v8, SquirrelFish Extreme, HIPE, and TraceMonkey will bring that into the mainstream now, the way Perl (and later Java) did for garbage collection.  (Malloc/free had been obsolete for most applications since 1982.)</p>
<p>JRuby is crippled differently: although its fundamental model is valid (compile to an intermediate language which then gets JITted to machine code), it compiles to bytecode for a JIT designed for a language with a very different type system, and they don&#8217;t have the freedom to change the JIT or the bytecode format.  This is an argument in favor of open source, obviously.</p>
<p>Gemstone is a high-end Smalltalk system; you haven&#8217;t heard of it because they make their money by extracting large amounts of money from a small number of customers.  Progress ObjectStore is still widely used, but mostly as what Martin Fowler calls an ApplicationDatabase, not an IntegrationDatabase &#8212; largely inside CAD systems and the like.  ODBMSs haven&#8217;t been as much of a success as the Statice guys were hoping when they started ObjectStore, but they certainly haven&#8217;t suffered the resounding market rejection you paint.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ruby is the R in Rails</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22272</link>
		<dc:creator>Ruby is the R in Rails</dc:creator>
		<pubDate>Wed, 11 Jun 2008 08:47:04 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22272</guid>
		<description>[...] A damned fine presentation I&#8217;m told but Charles Nutter of JRuby is not convinced and other people are already dismissing outright Maglev&#8217;s claim to scale. 100 times performance improvement is [...]</description>
		<content:encoded><![CDATA[<p>[...] A damned fine presentation I&#8217;m told but Charles Nutter of JRuby is not convinced and other people are already dismissing outright Maglev&#8217;s claim to scale. 100 times performance improvement is [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22241</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Fri, 06 Jun 2008 21:52:13 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22241</guid>
		<description>&lt;strong&gt;Wincent Colaiuta:&lt;/strong&gt;

Right you are on every single one of those points. I&#039;m beginning to wish I&#039;d followed your wisdom in not allowing comments on your blog! On the plus side, it&#039;s been educational and someone had to come out and say it.

A Ruby implementation is 100% compatible with MRI or it&#039;s no Ruby implementation at all. For the time being, Maglev is not a Ruby implementation and until it is, this discussion is over.</description>
		<content:encoded><![CDATA[<p><strong>Wincent Colaiuta:</strong></p>
<p>Right you are on every single one of those points. I&#8217;m beginning to wish I&#8217;d followed your wisdom in not allowing comments on your blog! On the plus side, it&#8217;s been educational and someone had to come out and say it.</p>
<p>A Ruby implementation is 100% compatible with MRI or it&#8217;s no Ruby implementation at all. For the time being, Maglev is not a Ruby implementation and until it is, this discussion is over.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22240</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Fri, 06 Jun 2008 21:48:25 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22240</guid>
		<description>&lt;strong&gt;JeanHuguesRobert:&lt;/strong&gt;

I have to admit I&#039;m pretty surprised to see that post. What the hell is Chad Fowler doing pitching for Gemstone?

&lt;blockquote&gt;From now on I suspect that the Ruby community will use the expression “It’s a Shoims” to point out an unjustified excess of skepticism about Ruby’s bright future.&lt;/blockquote&gt;
That is completely untrue and shame on you for saying otherwise. I love Ruby and no-one is more excited than I about Ruby&#039;s bright future than me. Take a look around this blog, why don&#039;t you. I have embraced Ruby wholeheartedly and contribute all I can to the community.

However, I also believe that future is free, libre and open source. I also believe wholeheartedly in Open Source software and am more than a little dismayed to see so many people apparently forgetting about its principles in their headlong rush to endorse this product which apparently runs counter to most of them. I find it suspicious and more than a little perverse.

Right now, Gemstone&#039;s Ruby implementation is little more than a trialware binary which happens to perform decently on a few specially selected &quot;thought leader&quot;&#039;s computers. It is more closed than Microsoft&#039;s IronRuby and every statement about its performance, including Chad Fowler&#039;s, must be taken on trust. I find this situation to be pretty regrettable. 

We shall see if the product lives up to its claims and is such a leap forward in performance that it&#039;s worth abandoning Ruby&#039;s open source heritage to use it. For now, though, I stand by my skepticism regarding this trialware, vapourware, incomplete, closed-source commercial implementation.</description>
		<content:encoded><![CDATA[<p><strong>JeanHuguesRobert:</strong></p>
<p>I have to admit I&#8217;m pretty surprised to see that post. What the hell is Chad Fowler doing pitching for Gemstone?</p>
<blockquote><p>From now on I suspect that the Ruby community will use the expression “It’s a Shoims” to point out an unjustified excess of skepticism about Ruby’s bright future.</p></blockquote>
<p>That is completely untrue and shame on you for saying otherwise. I love Ruby and no-one is more excited than I about Ruby&#8217;s bright future than me. Take a look around this blog, why don&#8217;t you. I have embraced Ruby wholeheartedly and contribute all I can to the community.</p>
<p>However, I also believe that future is free, libre and open source. I also believe wholeheartedly in Open Source software and am more than a little dismayed to see so many people apparently forgetting about its principles in their headlong rush to endorse this product which apparently runs counter to most of them. I find it suspicious and more than a little perverse.</p>
<p>Right now, Gemstone&#8217;s Ruby implementation is little more than a trialware binary which happens to perform decently on a few specially selected &#8220;thought leader&#8221;&#8217;s computers. It is more closed than Microsoft&#8217;s IronRuby and every statement about its performance, including Chad Fowler&#8217;s, must be taken on trust. I find this situation to be pretty regrettable. </p>
<p>We shall see if the product lives up to its claims and is such a leap forward in performance that it&#8217;s worth abandoning Ruby&#8217;s open source heritage to use it. For now, though, I stand by my skepticism regarding this trialware, vapourware, incomplete, closed-source commercial implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wincent Colaiuta</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22239</link>
		<dc:creator>Wincent Colaiuta</dc:creator>
		<pubDate>Fri, 06 Jun 2008 21:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22239</guid>
		<description>Sho, your fundamental argument is correct and fairly well put. But in responding to these comments you&#039;ve fallen into the trap of discussing mere technicalities which aren&#039;t relevant and which for which full information isn&#039;t yet available anyway.

What are the facts that it doesn&#039;t take a doctorate in compiler construction, or inside information about this closed-source, unreleased product, to appraise at this stage?

One: the product is vaporware. It doesn&#039;t matter how good it is when it&#039;s completed and released; the fact is that right now it&#039;s not completed and it&#039;s not released. Let&#039;s talk again when it is actually done and out.

Two: it&#039;s not Ruby yet. It doesn&#039;t matter how fast it is until it can actually run everything that MRI can, and in the same way that MRI can. Offer something that is &quot;95% Ruby&quot; (or any other percentage less than 100%) and it&#039;s simply not interesting, no matter how fast it runs.

Three: microbenchmarks are irrelevant to me as a Rails application developer; show me real-world application benchmarks with real-world data sets. There aren&#039;t any such benchmarks yet, and they&#039;re won&#039;t be either until this thing is actually Ruby and Rails compatible.

Four: the magnitude of the benchmarks &lt;em&gt;does&lt;/em&gt; strain the limits of credulity, probably because they&#039;re microbenchmarks. If it sounds too good to be true, it probably is.

Five: a particularly vocal segment of the Ruby/Rails community has gone into its habitual delirium at the announcement of the newest and shiniest bauble, and is ready to entrust all of its production eggs to this new basket which was apparently whipped up in just three months.

There is only one reasonable conclusion from a rational assessment of all these facts: that while Maglev is certainly interesting and it may be quite promising, perspective is called for and people should be adopting a conservative &quot;wait and see&quot; attitude rather than a &quot;let&#039;s piss our pants with excitement&quot; one.

There end the facts and the rest is all speculation and subjective opinion. For me, my own speculation and subjective opinion is that I am doubtful about this thing attaining 100% Ruby equivalence any time soon, I am sceptical about the real-world performance benefits compared to alternatives like YARV and JRuby (and I&#039;m conservative in my deployment choices so I am not even thinking of switching to those from MRI at this stage, let alone switching to this newest kid on the block), and I&#039;m not willing to sell-out to a commercial, closed-source platform in exchange for as-yet-unknown performance improvements, no matter how large they may turn out to be in the end.</description>
		<content:encoded><![CDATA[<p>Sho, your fundamental argument is correct and fairly well put. But in responding to these comments you&#8217;ve fallen into the trap of discussing mere technicalities which aren&#8217;t relevant and which for which full information isn&#8217;t yet available anyway.</p>
<p>What are the facts that it doesn&#8217;t take a doctorate in compiler construction, or inside information about this closed-source, unreleased product, to appraise at this stage?</p>
<p>One: the product is vaporware. It doesn&#8217;t matter how good it is when it&#8217;s completed and released; the fact is that right now it&#8217;s not completed and it&#8217;s not released. Let&#8217;s talk again when it is actually done and out.</p>
<p>Two: it&#8217;s not Ruby yet. It doesn&#8217;t matter how fast it is until it can actually run everything that MRI can, and in the same way that MRI can. Offer something that is &#8220;95% Ruby&#8221; (or any other percentage less than 100%) and it&#8217;s simply not interesting, no matter how fast it runs.</p>
<p>Three: microbenchmarks are irrelevant to me as a Rails application developer; show me real-world application benchmarks with real-world data sets. There aren&#8217;t any such benchmarks yet, and they&#8217;re won&#8217;t be either until this thing is actually Ruby and Rails compatible.</p>
<p>Four: the magnitude of the benchmarks <em>does</em> strain the limits of credulity, probably because they&#8217;re microbenchmarks. If it sounds too good to be true, it probably is.</p>
<p>Five: a particularly vocal segment of the Ruby/Rails community has gone into its habitual delirium at the announcement of the newest and shiniest bauble, and is ready to entrust all of its production eggs to this new basket which was apparently whipped up in just three months.</p>
<p>There is only one reasonable conclusion from a rational assessment of all these facts: that while Maglev is certainly interesting and it may be quite promising, perspective is called for and people should be adopting a conservative &#8220;wait and see&#8221; attitude rather than a &#8220;let&#8217;s piss our pants with excitement&#8221; one.</p>
<p>There end the facts and the rest is all speculation and subjective opinion. For me, my own speculation and subjective opinion is that I am doubtful about this thing attaining 100% Ruby equivalence any time soon, I am sceptical about the real-world performance benefits compared to alternatives like YARV and JRuby (and I&#8217;m conservative in my deployment choices so I am not even thinking of switching to those from MRI at this stage, let alone switching to this newest kid on the block), and I&#8217;m not willing to sell-out to a commercial, closed-source platform in exchange for as-yet-unknown performance improvements, no matter how large they may turn out to be in the end.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JeanHuguesRobert</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22236</link>
		<dc:creator>JeanHuguesRobert</dc:creator>
		<pubDate>Fri, 06 Jun 2008 19:11:48 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22236</guid>
		<description>&quot;JeanHuguesRobert Says:
June 3rd, 2008 at 6:30 pm

Sho, I believe you still get some remaining time to pretend that you were joking, but not much. ;-)

Gemstone is the best thing that has happened to Ruby in years (Ruby 2.0 is … second). Period. &quot;

Sho. You are cooked by now. I warned you. Sorry. http://www.chadfowler.com/2008/6/5/maglev

From now on I suspect that the Ruby community will use the expression &quot;It&#039;s a Shoims&quot; to point out an unjustified excess of skepticism about Ruby&#039;s bright future.

;-) You&#039;re famous now. Kudos.</description>
		<content:encoded><![CDATA[<p>&#8220;JeanHuguesRobert Says:<br />
June 3rd, 2008 at 6:30 pm</p>
<p>Sho, I believe you still get some remaining time to pretend that you were joking, but not much. <img src='http://fukamachi.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Gemstone is the best thing that has happened to Ruby in years (Ruby 2.0 is … second). Period. &#8221;</p>
<p>Sho. You are cooked by now. I warned you. Sorry. <a href="http://www.chadfowler.com/2008/6/5/maglev" rel="nofollow">http://www.chadfowler.com/2008/6/5/maglev</a></p>
<p>From now on I suspect that the Ruby community will use the expression &#8220;It&#8217;s a Shoims&#8221; to point out an unjustified excess of skepticism about Ruby&#8217;s bright future.</p>
<p> <img src='http://fukamachi.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  You&#8217;re famous now. Kudos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22231</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Fri, 06 Jun 2008 11:42:04 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22231</guid>
		<description>SmalltalkGuy:

Well, initial thoughts about that benchmark is that it&#039;s almost a perfect test of what&#039;s bad about MRI. Object allocation and GC are famously inefficient in MRI and that script does practically nothing else; one could hardly find lower hanging fruit. Charles Nutter and &quot;Ralf&quot; make insightful comments along those lines on that post.

Futhermore, he leaves out the result for YARV, which is over 3 times faster than MRI on that test. I can&#039;t understand why, Ruby 1.9.0 is the benchmark for &quot;official&quot; Ruby implemented with performance in mind. 

&lt;a href=&quot;http://shootout.alioth.debian.org/gp4/benchmark.php?test=binarytrees&amp;lang=all&quot; rel=&quot;nofollow&quot;&gt;Here&#039;s the full list of results from the debian &quot;shootout&quot;&lt;/a&gt;. As you can see, Smalltalk (VW) does extremely well on that test; a mere 2.8 times slower than the fastest result, which is Java. Obviously the test favours a VM over &quot;real&quot; MM, and as discussed those speeds &lt;a href=&quot;http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&amp;lang=all&quot; rel=&quot;nofollow&quot;&gt;do not carry over into the general testing results&lt;/a&gt;.

That said, it is pretty impressive. Some of my own long-running AR import/dump scripts would benefit greatly from that kind of optimisation. I guess we&#039;ll have to wait for the full tests to be released.

Wish I could just run the tests myself. I&#039;m curious and *want* to do it. I hate this closed source BS where we&#039;re all waiting on the word from one &quot;official&quot; tester.

&lt;strong&gt;UPDATE:&lt;/strong&gt; I could swear those rankings now look quite a bit different than they did a day or two ago. </description>
		<content:encoded><![CDATA[<p>SmalltalkGuy:</p>
<p>Well, initial thoughts about that benchmark is that it&#8217;s almost a perfect test of what&#8217;s bad about MRI. Object allocation and GC are famously inefficient in MRI and that script does practically nothing else; one could hardly find lower hanging fruit. Charles Nutter and &#8220;Ralf&#8221; make insightful comments along those lines on that post.</p>
<p>Futhermore, he leaves out the result for YARV, which is over 3 times faster than MRI on that test. I can&#8217;t understand why, Ruby 1.9.0 is the benchmark for &#8220;official&#8221; Ruby implemented with performance in mind. </p>
<p><a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=binarytrees&#038;lang=all" rel="nofollow">Here&#8217;s the full list of results from the debian &#8220;shootout&#8221;</a>. As you can see, Smalltalk (VW) does extremely well on that test; a mere 2.8 times slower than the fastest result, which is Java. Obviously the test favours a VM over &#8220;real&#8221; MM, and as discussed those speeds <a href="http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&#038;lang=all" rel="nofollow">do not carry over into the general testing results</a>.</p>
<p>That said, it is pretty impressive. Some of my own long-running AR import/dump scripts would benefit greatly from that kind of optimisation. I guess we&#8217;ll have to wait for the full tests to be released.</p>
<p>Wish I could just run the tests myself. I&#8217;m curious and *want* to do it. I hate this closed source BS where we&#8217;re all waiting on the word from one &#8220;official&#8221; tester.</p>
<p><strong>UPDATE:</strong> I could swear those rankings now look quite a bit different than they did a day or two ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SmalltalkGuy</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22230</link>
		<dc:creator>SmalltalkGuy</dc:creator>
		<pubDate>Fri, 06 Jun 2008 08:59:19 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22230</guid>
		<description>A first maglev result :

http://antoniocangiano.com/2008/06/05/maglev-handles-trees-like-a-monkey/

Maglev almost as fast as C/C++. 


For a Java to ruby comparison just select the right menus from the web page you cited yourself :
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&amp;lang=yarv&amp;lang2=java

Java beeing around 222 faster on the mandelbrot test and more than a 100 times faster on other tests.</description>
		<content:encoded><![CDATA[<p>A first maglev result :</p>
<p><a href="http://antoniocangiano.com/2008/06/05/maglev-handles-trees-like-a-monkey/" rel="nofollow">http://antoniocangiano.com/2008/06/05/maglev-handles-trees-like-a-monkey/</a></p>
<p>Maglev almost as fast as C/C++. </p>
<p>For a Java to ruby comparison just select the right menus from the web page you cited yourself :<br />
<a href="http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&amp;lang=yarv&amp;lang2=java" rel="nofollow">http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&amp;lang=yarv&amp;lang2=java</a></p>
<p>Java beeing around 222 faster on the mandelbrot test and more than a 100 times faster on other tests.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: More on Maglev &#187; Andrew Rollins</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22228</link>
		<dc:creator>More on Maglev &#187; Andrew Rollins</dc:creator>
		<pubDate>Fri, 06 Jun 2008 07:27:51 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22228</guid>
		<description>[...] Maglev and the naiivete of the Rails community [...]</description>
		<content:encoded><![CDATA[<p>[...] Maglev and the naiivete of the Rails community [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juixe TechKnow &#187; MagLev</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22219</link>
		<dc:creator>Juixe TechKnow &#187; MagLev</dc:creator>
		<pubDate>Thu, 05 Jun 2008 22:00:04 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22219</guid>
		<description>[...] Maglev and the naiivety of the Rails community [...]</description>
		<content:encoded><![CDATA[<p>[...] Maglev and the naiivety of the Rails community [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sho</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/comment-page-2/#comment-22213</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Thu, 05 Jun 2008 16:54:27 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22213</guid>
		<description>&lt;strong&gt;SmalltalkGuy&lt;/strong&gt;,

(Deep sigh)

&lt;blockquote&gt;I still see a big lead in benchmarks where really the VM is running the code.
Other results are better for ruby because there&#039;s more C code involved. 
 Of course you can can speedup &quot;your&quot; language by implementing almost all of your libraries in C, but that limits you in extending your libraries.&lt;/blockquote&gt;

OK, I agree with you there. It&#039;s better, generally, to pursue performance as much as possible within the context of the VM. More extensible, more centralised, less &quot;moving targets&quot;, more pure in general.

However, it&#039;s the results that count, native C or VM or whatever. The vast majority of people do not need to extend Ruby in a way that would conflict with its mode of implementation.

And personally, the fact that the C implementation is fully open source is, to me, a powerful vote back in its favour. It may well be more difficult to extend some library if it&#039;s implemented in C - it might also be completely impossible to do so on a proprietary VM like the one announced by Gemstone.

&lt;blockquote&gt;Who said that in (all) real world applications Ruby could be 15(insert your factor here) times faster?&lt;/blockquote&gt;

The whole reason I wrote my article is because a great many people were claiming or implying exactly that. Gemstone&#039;s presentation implied gains of between 15x and 60x. If they&#039;d just claimed 2x or 3x or something, there wouldn&#039;t have been such an explosion of hype and I wouldn&#039;t have been incensed enough to write this post!

&lt;blockquote&gt;Also VW was not always the fastest Smalltalk implementation on the planet. Animorphic Systems had an implementation in the 90&#039;s that was at least 5 times faster. Those guys went to Sun. You can see the result of their knowledge by comparing the Ruby results against Java. Java is still in certain cases more than 100 times faster than the (not yet released) Ruby 1.9.&lt;/blockquote&gt;

[Citation Needed]

Here we go again with Smalltalk folks claiming huge performance numbers from &quot;secret Smalltalk techniques&quot;. &quot;At least&quot; 5x faster across the board would make Smalltalk, a dynamic language, faster than the most recent implementation of Java, which is statically typed!

Give me a break. Point to some hard numbers from a reliable source that back up your assertions or I&#039;m going to continue with my assumption that you&#039;re pulling these &quot;facts&quot; straight out of thin air.</description>
		<content:encoded><![CDATA[<p><strong>SmalltalkGuy</strong>,</p>
<p>(Deep sigh)</p>
<blockquote><p>I still see a big lead in benchmarks where really the VM is running the code.<br />
Other results are better for ruby because there&#8217;s more C code involved.<br />
 Of course you can can speedup &#8220;your&#8221; language by implementing almost all of your libraries in C, but that limits you in extending your libraries.</p></blockquote>
<p>OK, I agree with you there. It&#8217;s better, generally, to pursue performance as much as possible within the context of the VM. More extensible, more centralised, less &#8220;moving targets&#8221;, more pure in general.</p>
<p>However, it&#8217;s the results that count, native C or VM or whatever. The vast majority of people do not need to extend Ruby in a way that would conflict with its mode of implementation.</p>
<p>And personally, the fact that the C implementation is fully open source is, to me, a powerful vote back in its favour. It may well be more difficult to extend some library if it&#8217;s implemented in C &#8211; it might also be completely impossible to do so on a proprietary VM like the one announced by Gemstone.</p>
<blockquote><p>Who said that in (all) real world applications Ruby could be 15(insert your factor here) times faster?</p></blockquote>
<p>The whole reason I wrote my article is because a great many people were claiming or implying exactly that. Gemstone&#8217;s presentation implied gains of between 15x and 60x. If they&#8217;d just claimed 2x or 3x or something, there wouldn&#8217;t have been such an explosion of hype and I wouldn&#8217;t have been incensed enough to write this post!</p>
<blockquote><p>Also VW was not always the fastest Smalltalk implementation on the planet. Animorphic Systems had an implementation in the 90&#8217;s that was at least 5 times faster. Those guys went to Sun. You can see the result of their knowledge by comparing the Ruby results against Java. Java is still in certain cases more than 100 times faster than the (not yet released) Ruby 1.9.</p></blockquote>
<p>[Citation Needed]</p>
<p>Here we go again with Smalltalk folks claiming huge performance numbers from &#8220;secret Smalltalk techniques&#8221;. &#8220;At least&#8221; 5x faster across the board would make Smalltalk, a dynamic language, faster than the most recent implementation of Java, which is statically typed!</p>
<p>Give me a break. Point to some hard numbers from a reliable source that back up your assertions or I&#8217;m going to continue with my assumption that you&#8217;re pulling these &#8220;facts&#8221; straight out of thin air.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
