<?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"
	>
<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>
	<pubDate>Wed, 19 Nov 2008 23:44:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<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-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-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'm beginning to wish I'd followed your wisdom in not allowing comments on your blog! On the plus side, it's been educational and someone had to come out and say it.

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.</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-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'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's bright future than me. Take a look around this blog, why don'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's Ruby implementation is little more than a trialware binary which happens to perform decently on a few specially selected "thought leader"'s computers. It is more closed than Microsoft's IronRuby and every statement about its performance, including Chad Fowler'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's worth abandoning Ruby'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-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've fallen into the trap of discussing mere technicalities which aren't relevant and which for which full information isn't yet available anyway.

What are the facts that it doesn'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't matter how good it is when it's completed and released; the fact is that right now it's not completed and it's not released. Let's talk again when it is actually done and out.

Two: it's not Ruby yet. It doesn'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 "95% Ruby" (or any other percentage less than 100%) and it'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't any such benchmarks yet, and they're won'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'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 "wait and see" attitude rather than a "let's piss our pants with excitement" 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'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'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-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>"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. "

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 "It's a Shoims" to point out an unjustified excess of skepticism about Ruby's bright future.

;-) You'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-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's almost a perfect test of what'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 "Ralf" 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't understand why, Ruby 1.9.0 is the benchmark for "official" Ruby implemented with performance in mind. 

&lt;a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=binarytrees&#038;lang=all" rel="nofollow"&gt;Here's the full list of results from the debian "shootout"&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 "real" MM, and as discussed those speeds &lt;a href="http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&#038;lang=all" rel="nofollow"&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'll have to wait for the full tests to be released.

Wish I could just run the tests myself. I'm curious and *want* to do it. I hate this closed source BS where we're all waiting on the word from one "official" 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-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&#38;lang=yarv&#38;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-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-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-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's more C code involved. 
 Of course you can can speedup "your" 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's better, generally, to pursue performance as much as possible within the context of the VM. More extensible, more centralised, less "moving targets", more pure in general.

However, it'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'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's presentation implied gains of between 15x and 60x. If they'd just claimed 2x or 3x or something, there wouldn't have been such an explosion of hype and I wouldn'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'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 "secret Smalltalk techniques". "At least" 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'm going to continue with my assumption that you're pulling these "facts" 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 - 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>
	<item>
		<title>By: SmalltalkGuy</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/#comment-22210</link>
		<dc:creator>SmalltalkGuy</dc:creator>
		<pubDate>Thu, 05 Jun 2008 16:32:01 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22210</guid>
		<description>Sho,
You ask 
"Here is the specific comparison of Ruby 1.9.0 vs. Smalltalk VisualWorks. Where is this huge technological lead?"

I still see a big lead in benchmarks where really the VM is running the code.
Other results are better for ruby because there's more C code involved. 
 Of course you can can speedup "your" language by implementing almost all of your libraries in C, but that limits you in extending your libraries.

Who said that in (all) real world applications Ruby could be 15(insert your factor here) times faster?


Also VW was not always the fastest Smalltalk implementation on the planet. Animorphic Systems had an implementation in the 90'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.</description>
		<content:encoded><![CDATA[<p>Sho,<br />
You ask<br />
&#8220;Here is the specific comparison of Ruby 1.9.0 vs. Smalltalk VisualWorks. Where is this huge technological lead?&#8221;</p>
<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>
<p>Who said that in (all) real world applications Ruby could be 15(insert your factor here) times faster?</p>
<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>
]]></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-22194</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Wed, 04 Jun 2008 20:24:58 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22194</guid>
		<description>&lt;blockquote&gt;What you seem to be missing is that what all of the alternative Ruby VM implementers have been saying up till now re: optimization boils down to "we know we have barely scratched the surface, optimization-wise; but we know that the Smalltalk community has some really advanced techniques for optimizing dynamic languages, and we hope to apply those techniques once we are 100% Ruby-compatible".  Saying that JRuby, Rubinius, et al are *currently* focused on performance optimization indicates that you haven't been following their development blogs much.  Both Charles Nutter and the Rubinius guys have all been pretty up-front about a) feature-completeness is their goal now and b) optimization comes second.  Although since JRuby has been able to run Rails that team have been able to spend more time on performance optimization.&lt;/blockquote&gt;

My point was that feature completeness is not some abstract goal which might be considered an alternative to the goal of performance, it is a fundamental prerequisite before you can even start talking about speed. 

As has been pointed out (pretty forcefully, heh) I am far from an expert on the complex business of writing interpreters/compilers/preprocessors/garbage collectors/VMs. However, I do have a little experience in software development and like to think I'm aware of its basic nature. 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.

At the time of writing, I'd been reading other bloggers splashing numbers like 15x-60x performance gains around. That kind of gain from a tweaked VM is ludicrous on its face. 60x faster would be faster than C! Again, I'm not an expert - but if I hear someone claiming they can make Ruby faster than C, well, I'll believe it when I see it.

&lt;blockquote&gt;Also, I'm not sure what you mean by Smalltalk being much less dynamic than Ruby.  You do know that Ruby is essentially Smalltalk with a Perlish syntax, right?&lt;/blockquote&gt;

I shouldn't have used the word "dynamic". I was trying to refer to the syntax and general behavioural spec of Ruby, which is notoriously difficult to interpret and was, I thought, pretty resistant to preprocessing. Maybe a better word would have been "complex" or "flexible".

&lt;blockquote&gt;So if the MagLev team are executing Ruby code on a mature optimized Smalltalk VM, I don't have any trouble believing that they've seen massive improvements in speed.  These are the same improvements that the JRuby, Rubinius (especially Rubinius, which is modeled directly on the Smalltalk implementation), et al are all expecting to see once they are able to focus on optimization.  MagLev is just already there, because they don't have to re-write the Smalltalk-style optimizations form scratch.&lt;/blockquote&gt;

I also don't have any difficulty believing that some impressive speed gains are possible once the VM is mature and optimised. YARV, for example, is around twice as fast as MRI and it's very possible that Maglev could be even faster.

What I do have trouble believing is a 15 or more times gain. That would mean that Ruby was now comparable speedwise to Java, and I don't think anyone will argue with me if I say Ruby's more dynamic than that. That magnitude of improvement is unheard of in any software development project I'm aware of. I'm not going to say it's absolutely impossible - but again, I'm going to need to see it to believe it.

It is entirely possible they've seen massive improvements in speed - in certain cases, and no doubt it was those cases which were shown off at Railsconf. But the performance of a language is based on across the board speed, not some little tweak here or there. As I mentioned above, &lt;a href="http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&#038;lang=all" rel="nofollow"&gt;Ruby 1.9.0 today is about 27x slower than C&lt;/a&gt;. The fastest smalltalk is about 9x slower than C. You might be able to find some neglected backwater here or there and optimise it until it's 15x or even 60 times faster - but across the board?!

I can't get my head around this point. Even in this comment thread you've got people who seem to believe that Maglev is going to make Ruby twice as fast, or in the worst case only twice as slow, as C. I wonder if I live on the same planet as anyone who can believe that without some pretty stunning proof. Even better, apparently some benchmark maxed at out 110x faster - if so, maybe we should start thinking about re-implementing C in Maglev Ruby, the new fastest language of all time by a factor of four.

More to the point, showing off these ultra-fast benchmarks results before the language, with all its nuances, is even close to being fully implemented is really irresponsible and distasteful to me. Incomplete benchmarks in isolation are useless, everybody knows it - I know it, you know it, they know it. But knowing that - they showed them anyway. Why? It's a marketing tactic, nothing more. It reminds me pretty strongly of other shoddy marketing tactics I've seen - particularly in the computer game industry - and doesn't inspire faith in the company one bit. Worked pretty well, though, I have to admit.</description>
		<content:encoded><![CDATA[<blockquote><p>What you seem to be missing is that what all of the alternative Ruby VM implementers have been saying up till now re: optimization boils down to &#8220;we know we have barely scratched the surface, optimization-wise; but we know that the Smalltalk community has some really advanced techniques for optimizing dynamic languages, and we hope to apply those techniques once we are 100% Ruby-compatible&#8221;.  Saying that JRuby, Rubinius, et al are *currently* focused on performance optimization indicates that you haven&#8217;t been following their development blogs much.  Both Charles Nutter and the Rubinius guys have all been pretty up-front about a) feature-completeness is their goal now and b) optimization comes second.  Although since JRuby has been able to run Rails that team have been able to spend more time on performance optimization.</p></blockquote>
<p>My point was that feature completeness is not some abstract goal which might be considered an alternative to the goal of performance, it is a fundamental prerequisite before you can even start talking about speed. </p>
<p>As has been pointed out (pretty forcefully, heh) I am far from an expert on the complex business of writing interpreters/compilers/preprocessors/garbage collectors/VMs. However, I do have a little experience in software development and like to think I&#8217;m aware of its basic nature. 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>
<p>At the time of writing, I&#8217;d been reading other bloggers splashing numbers like 15x-60x performance gains around. That kind of gain from a tweaked VM is ludicrous on its face. 60x faster would be faster than C! Again, I&#8217;m not an expert - but if I hear someone claiming they can make Ruby faster than C, well, I&#8217;ll believe it when I see it.</p>
<blockquote><p>Also, I&#8217;m not sure what you mean by Smalltalk being much less dynamic than Ruby.  You do know that Ruby is essentially Smalltalk with a Perlish syntax, right?</p></blockquote>
<p>I shouldn&#8217;t have used the word &#8220;dynamic&#8221;. I was trying to refer to the syntax and general behavioural spec of Ruby, which is notoriously difficult to interpret and was, I thought, pretty resistant to preprocessing. Maybe a better word would have been &#8220;complex&#8221; or &#8220;flexible&#8221;.</p>
<blockquote><p>So if the MagLev team are executing Ruby code on a mature optimized Smalltalk VM, I don&#8217;t have any trouble believing that they&#8217;ve seen massive improvements in speed.  These are the same improvements that the JRuby, Rubinius (especially Rubinius, which is modeled directly on the Smalltalk implementation), et al are all expecting to see once they are able to focus on optimization.  MagLev is just already there, because they don&#8217;t have to re-write the Smalltalk-style optimizations form scratch.</p></blockquote>
<p>I also don&#8217;t have any difficulty believing that some impressive speed gains are possible once the VM is mature and optimised. YARV, for example, is around twice as fast as MRI and it&#8217;s very possible that Maglev could be even faster.</p>
<p>What I do have trouble believing is a 15 or more times gain. That would mean that Ruby was now comparable speedwise to Java, and I don&#8217;t think anyone will argue with me if I say Ruby&#8217;s more dynamic than that. That magnitude of improvement is unheard of in any software development project I&#8217;m aware of. I&#8217;m not going to say it&#8217;s absolutely impossible - but again, I&#8217;m going to need to see it to believe it.</p>
<p>It is entirely possible they&#8217;ve seen massive improvements in speed - in certain cases, and no doubt it was those cases which were shown off at Railsconf. But the performance of a language is based on across the board speed, not some little tweak here or there. As I mentioned above, <a href="http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&#038;lang=all" rel="nofollow">Ruby 1.9.0 today is about 27x slower than C</a>. The fastest smalltalk is about 9x slower than C. You might be able to find some neglected backwater here or there and optimise it until it&#8217;s 15x or even 60 times faster - but across the board?!</p>
<p>I can&#8217;t get my head around this point. Even in this comment thread you&#8217;ve got people who seem to believe that Maglev is going to make Ruby twice as fast, or in the worst case only twice as slow, as C. I wonder if I live on the same planet as anyone who can believe that without some pretty stunning proof. Even better, apparently some benchmark maxed at out 110x faster - if so, maybe we should start thinking about re-implementing C in Maglev Ruby, the new fastest language of all time by a factor of four.</p>
<p>More to the point, showing off these ultra-fast benchmarks results before the language, with all its nuances, is even close to being fully implemented is really irresponsible and distasteful to me. Incomplete benchmarks in isolation are useless, everybody knows it - I know it, you know it, they know it. But knowing that - they showed them anyway. Why? It&#8217;s a marketing tactic, nothing more. It reminds me pretty strongly of other shoddy marketing tactics I&#8217;ve seen - particularly in the computer game industry - and doesn&#8217;t inspire faith in the company one bit. Worked pretty well, though, I have to admit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benjamin Jackson</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/#comment-22191</link>
		<dc:creator>Benjamin Jackson</dc:creator>
		<pubDate>Wed, 04 Jun 2008 19:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22191</guid>
		<description>You left out MacRuby (though whether or not it's a "serious, credible, working Ruby implementation" yet is up for debate).

Worth checking out anyway: http://ruby.macosforge.org/</description>
		<content:encoded><![CDATA[<p>You left out MacRuby (though whether or not it&#8217;s a &#8220;serious, credible, working Ruby implementation&#8221; yet is up for debate).</p>
<p>Worth checking out anyway: <a href="http://ruby.macosforge.org/" rel="nofollow">http://ruby.macosforge.org/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avdi</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/#comment-22189</link>
		<dc:creator>Avdi</dc:creator>
		<pubDate>Wed, 04 Jun 2008 16:17:07 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22189</guid>
		<description>What you seem to be missing is that what all of the alternative Ruby VM implementers have been saying up till now re: optimization boils down to "we know we have barely scratched the surface, optimization-wise; but we know that the Smalltalk community has some really advanced techniques for optimizing dynamic languages, and we hope to apply those techniques once we are 100% Ruby-compatible".  Saying that JRuby, Rubinius, et al are *currently* focused on performance optimization indicates that you haven't been following their development blogs much.  Both Charles Nutter and the Rubinius guys have all been pretty up-front about a) feature-completeness is their goal now and b) optimization comes second.  Although since JRuby has been able to run Rails that team have been able to spend more time on performance optimization.

Also, I'm not sure what you mean by Smalltalk being much less dynamic than Ruby.  You do know that Ruby is essentially Smalltalk with a Perlish syntax, right?

So if the MagLev team are executing Ruby code on a mature optimized Smalltalk VM, I don't have any trouble believing that they've seen massive improvements in speed.  These are the same improvements that the JRuby, Rubinius (especially Rubinius, which is modeled directly on the Smalltalk implementation), et al are all expecting to see once they are able to focus on optimization.  MagLev is just already there, because they don't have to re-write the Smalltalk-style optimizations form scratch.</description>
		<content:encoded><![CDATA[<p>What you seem to be missing is that what all of the alternative Ruby VM implementers have been saying up till now re: optimization boils down to &#8220;we know we have barely scratched the surface, optimization-wise; but we know that the Smalltalk community has some really advanced techniques for optimizing dynamic languages, and we hope to apply those techniques once we are 100% Ruby-compatible&#8221;.  Saying that JRuby, Rubinius, et al are *currently* focused on performance optimization indicates that you haven&#8217;t been following their development blogs much.  Both Charles Nutter and the Rubinius guys have all been pretty up-front about a) feature-completeness is their goal now and b) optimization comes second.  Although since JRuby has been able to run Rails that team have been able to spend more time on performance optimization.</p>
<p>Also, I&#8217;m not sure what you mean by Smalltalk being much less dynamic than Ruby.  You do know that Ruby is essentially Smalltalk with a Perlish syntax, right?</p>
<p>So if the MagLev team are executing Ruby code on a mature optimized Smalltalk VM, I don&#8217;t have any trouble believing that they&#8217;ve seen massive improvements in speed.  These are the same improvements that the JRuby, Rubinius (especially Rubinius, which is modeled directly on the Smalltalk implementation), et al are all expecting to see once they are able to focus on optimization.  MagLev is just already there, because they don&#8217;t have to re-write the Smalltalk-style optimizations form scratch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Priit Tamboom</title>
		<link>http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/#comment-22181</link>
		<dc:creator>Priit Tamboom</dc:creator>
		<pubDate>Wed, 04 Jun 2008 06:27:24 +0000</pubDate>
		<guid isPermaLink="false">http://fukamachi.org/wp/?p=756#comment-22181</guid>
		<description>I agree with Sho's blogpost. It's generally good there are coming more options like Maglev, but it's huge difference between ability to see code yourself versus to listen some hype-promises from closed source vendor.</description>
		<content:encoded><![CDATA[<p>I agree with Sho&#8217;s blogpost. It&#8217;s generally good there are coming more options like Maglev, but it&#8217;s huge difference between ability to see code yourself versus to listen some hype-promises from closed source vendor.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
