<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
		<title>gdp's Comments</title>
		<language>en-us</language>
		<link>https://www.intensedebate.com/users/623276</link>
		<description>Comments by cnutter</description>
<item>
<title>Union Station : Ruby I/O Performance - what, where and when</title>
<link>http://www.engineyard.com/blog/2011/ruby-io-performance-what-where-and-when/#IDComment123893794</link>
<description>For your sudoku solver, I ran some numbers of my own with client and server JVM. I was running on OS X, but the numbers should translate to most platforms (including Windows).  With the client VM, after warmup, JRuby&amp;#039;s run time is around 4.4s.  With the server vM, JRuby&amp;#039;s run time improves to around 3.3s. This is a good improvement, but it&amp;#039;s not as good as it should be.  There&amp;#039;s a few specific aspects of this benchmark that JRuby currently does not optimize well. The nested &amp;quot;upto&amp;quot; blocks cause too much overhead in current JRuby. Blocks are ok, but nested blocks currently cause some issues for the way we optimize Ruby code.  I&amp;#039;ll see if I can improve the sudoku benchmark.  I&amp;#039;m also not sure why you even included JRuby in this post, when you only post numbers for JRuby on a sudoku microbenchmark and a startup time benchmark. Perhaps it would be more interesting to see a real application running on JRuby, or perhaps actually show JRuby&amp;#039;s IO performance numbers too. </description>
<pubDate>Wed, 26 Jan 2011 13:57:52 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2011/ruby-io-performance-what-where-and-when/#IDComment123893794</guid>
</item><item>
<title>Union Station : Ruby I/O Performance - what, where and when</title>
<link>http://www.engineyard.com/blog/2011/ruby-io-performance-what-where-and-when/#IDComment123888897</link>
<description>You ran JRuby with Hotspot in client mode. JRuby with the &amp;quot;server&amp;quot; mode is generally much faster, anywhere from 2-3x for CPU-intensive code.  Your JRuby numbers are invalid :) </description>
<pubDate>Wed, 26 Jan 2011 13:24:39 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2011/ruby-io-performance-what-where-and-when/#IDComment123888897</guid>
</item><item>
<title>Union Station : JRuby 1.6.0 RC1 Released</title>
<link>http://www.engineyard.com/blog/2011/jruby-1-6-0-rc1-released/#IDComment121132530</link>
<description>Yes, unfortunately because Ruby 1.9 includes a broken &amp;quot;gem_prelude.rb&amp;quot; it loads on every startup, we needed to do something similar. To avoid the brokenness, we simply require &amp;#039;rubygems&amp;#039;, which while faster than in previous versions does incur a startup hit. There are also additional native core classes like Complex and Rational that need to be set up. We hope to make more startup-time improvements before final. </description>
<pubDate>Thu, 13 Jan 2011 20:22:19 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2011/jruby-1-6-0-rc1-released/#IDComment121132530</guid>
</item><item>
<title>Union Station : JRuby 1.6.0 RC1 Released</title>
<link>http://www.engineyard.com/blog/2011/jruby-1-6-0-rc1-released/#IDComment121132016</link>
<description>Fibers are supported, but be careful: they must spin up a native thread per-fiber, so they&amp;#039;re much heavier than under Ruby 1.9.  Continuations are supported only as well as in previous versions of JRuby (that is, not well...the JVM does not support continuations). </description>
<pubDate>Thu, 13 Jan 2011 20:20:27 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2011/jruby-1-6-0-rc1-released/#IDComment121132016</guid>
</item><item>
<title>Union Station : Rubinius wants to help YOU make Ruby better</title>
<link>http://www.engineyard.com/blog/2010/rubinius-wants-to-help-you-make-ruby-better/#IDComment96068281</link>
<description>Rubinius has done a great job blazing a trail with regards to native libraries and native extensions, and we&amp;#039;re very happy we&amp;#039;ve been able to support the same FFI and C extension APIs in JRuby. That makes Brian&amp;#039;s comments about &amp;quot;Neighborly C extensions&amp;quot; even more important, since JRuby suffers from the same limitations that Rubinius does when it comes to writing C extensions to MRI&amp;#039;s API. RHASH and RSTRING-&amp;gt;ptr are just the tip of the iceberg.  Do not expect to have access to class method tables (we both implement them differently).  Do not try to find the various MRI runtime structures (like the AST, frames, or scope objects)...we have completely different execution models.  Do not expect C extension code to run concurrently (on JRuby now or on Rubinius when it supports concurrent execution). Because of the global nature of many C extensions&amp;#039; state, we both must ensure only one thread hits C code at a time.  And above all know that because JRuby and Rubinius must isolate C code from the locations of Ruby objects in memory, C extensions with very fine-grained APIs (e.g. every method on every class does a call-out to C) are going to perform *much* worse on JRuby and Rubinius due to the extra copying and indirection required. Design your APIs well and with these limitations very much in mind.  (I would also be lying if I said JRuby&amp;#039;s C extension support were the recommended path forward. It will work well as a stopgap measure, but the ultimate solution will usually be to port to Java or find an equivalent Java library to use that doesn&amp;#039;t suffer from performance and concurrency penalties.)  That said, we still want C extensions to work as well as possible just like the Rubinius guys, and we&amp;#039;ll stand with them to educate people (and to work with CRuby&amp;#039;s core team!) on how to write fast, reliable extensions.  (And of course the remaining points Brian makes about good OO design apply to any environment...I wholeheartedly agree!) </description>
<pubDate>Tue, 31 Aug 2010 00:38:19 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/rubinius-wants-to-help-you-make-ruby-better/#IDComment96068281</guid>
</item><item>
<title>Union Station : Introducing JRubyConf 2010</title>
<link>http://www.engineyard.com/blog/2010/introducing-jrubyconf-2010/#IDComment95428162</link>
<description>I thought I&amp;#039;d also mention that three at least JRuby core developers (Tom Enebo, Nick Sieger, and I) will be at JRubyConf 2010 to answer your questions and help you with any JRuby-related issues you might have. This is your chance to meet up with us and other JRubyists, and we&amp;#039;re looking forward to seeing you there! :) </description>
<pubDate>Thu, 26 Aug 2010 21:30:14 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/introducing-jrubyconf-2010/#IDComment95428162</guid>
</item><item>
<title> LoGeek&#039;s software blog - learning content for developers  : On JRuby, Resque and Windows</title>
<link>http://blog.logeek.fr/2010/8/2/on-jruby-resque-and-windows#IDComment92350307</link>
<description>Nice post, and it seems like a good use of JRuby to me. Pretty cool way to mask the fact that you have this &amp;quot;big ugly thing&amp;quot; over on Windows that stubbornly refuses to run anywhere else.  Have you considered using JRuby for the other end of your app too? It might be possible to do everything JRuby-based, if that would make sense for your application. </description>
<pubDate>Wed, 11 Aug 2010 21:58:16 +0000</pubDate>
<guid>http://blog.logeek.fr/2010/8/2/on-jruby-resque-and-windows#IDComment92350307</guid>
</item><item>
<title>Union Station : Monitoring Memory with JRuby, Part 1: jhat and VisualVM</title>
<link>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415823</link>
<description>So far, I have not. The timezone data appears to be normal but perhaps a bit wasteful, since most applications will never need all that timezone information. The right fix would probably be to lazy load such data, but I&amp;#039;m not yet familiar enough with the library to do that. Exercise for the reader?  Part two will go into another tool for browsing JRuby heap dumps: The Eclipse Memory Analysis Tool. </description>
<pubDate>Sat, 7 Aug 2010 15:08:51 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415823</guid>
</item><item>
<title>Union Station : Monitoring Memory with JRuby, Part 1: jhat and VisualVM</title>
<link>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415677</link>
<description>It&amp;#039;s there, at the very bottom in tiny gray print:  &amp;quot;This article was originally published on Charles Nutter&amp;rsquo;s blog Headius.&amp;quot;  I agree it could be made more prominent :) </description>
<pubDate>Sat, 7 Aug 2010 15:07:35 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415677</guid>
</item><item>
<title>Union Station : Monitoring Memory with JRuby, Part 1: jhat and VisualVM</title>
<link>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415602</link>
<description>OQL can query against instance variables, but it&amp;#039;s a bit more roundabout. You need to look first at the object&amp;#039;s metaclass, which holds an array of instance variable names. The index of the name is the index into an instance variable table on the object itself. For that sort of thing the current tools are a bit &amp;quot;raw&amp;quot; since the Ruby object structure doesn&amp;#039;t map directly to Java, but I hope to fix that (by having at least the &amp;quot;known&amp;quot; instance variables generated into regular Java fields when the &amp;quot;real&amp;quot; Java class is created). </description>
<pubDate>Sat, 7 Aug 2010 15:06:49 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/monitoring-memory-with-jruby-part-1-jhat-and-visualvm/#IDComment91415602</guid>
</item><item>
<title>Union Station : Monitoring the JVM Heap with JRuby</title>
<link>http://www.engineyard.com/blog/2010/monitoring-the-jvm-heap-with-jruby/#IDComment75394549</link>
<description>igrigorik: Yes, it&amp;#039;s absolutely possible, and actually pretty easy. Hopefully we can get Tom Enebo to do a post on how to do it, but otherwise email us and we&amp;#039;ll set you up. </description>
<pubDate>Fri, 14 May 2010 08:38:10 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/monitoring-the-jvm-heap-with-jruby/#IDComment75394549</guid>
</item><item>
<title>Union Station : Monitoring the JVM Heap with JRuby</title>
<link>http://www.engineyard.com/blog/2010/monitoring-the-jvm-heap-with-jruby/#IDComment71355593</link>
<description>Brian: Yeah, the great thing about Java Management eXtensions (JMX, which is where the &amp;quot;MX&amp;quot; in &amp;quot;MXBeans&amp;quot; comes from) is that services like New Relic can monitor your app through a standard interface. JRuby publishes some MXBeans for internal information like how much time has been spent parsing, and Tom Enebo&amp;#039;s &amp;quot;jmx&amp;quot; gem makes it trivial to define your own MXBeans entirely in Ruby. Hopefully we&amp;#039;ll have some posts on that stuff soon. </description>
<pubDate>Thu, 29 Apr 2010 19:45:09 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/monitoring-the-jvm-heap-with-jruby/#IDComment71355593</guid>
</item><item>
<title>Union Station : Rake and Ant Together: A Pick It n&#039; Stick It Approach</title>
<link>http://www.engineyard.com/blog/2010/rake-and-ant-together-a-pick-it-n-stick-it-approach/#IDComment57667445</link>
<description>Really nice post and features. It&amp;#039;s everything I&amp;#039;ve wanted from ant+rake integration. And for those not in the know: it&amp;#039;s also an incredibly small amount of code in JRuby, considering all it does:  &lt;a href=&quot;http://github.com/jruby/jruby/tree/master/lib/ruby/site_ruby/shared/ant/&quot; target=&quot;_blank&quot;&gt;http://github.com/jruby/jruby/tree/master/lib/rub...&lt;/a&gt;  and  &lt;a href=&quot;http://github.com/jruby/jruby/tree/master/src/org/jruby/ant/&quot; target=&quot;_blank&quot;&gt;http://github.com/jruby/jruby/tree/master/src/org...&lt;/a&gt; </description>
<pubDate>Fri, 19 Feb 2010 19:57:59 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2010/rake-and-ant-together-a-pick-it-n-stick-it-approach/#IDComment57667445</guid>
</item><item>
<title>Union Station : Getting Started With JRuby</title>
<link>http://www.engineyard.com/blog/2009/getting-started-with-jruby/#IDComment41916581</link>
<description>Curious: Yes, what you say is true; this is more an &amp;quot;intro to JRuby for Ruby folks&amp;quot;. But that is largely the point...up until this point, Ruby and Rails are just Ruby and Rails, regardless of whether you are on JRuby or not. We&amp;#039;ve made it a key point of JRuby that Ruby should &amp;quot;just work&amp;quot;, so any tutorial you&amp;#039;d follow to get a Ruby or Rails application working should work the same on JRuby as it does on any other Ruby.  You are correct, though. We on the JRuby team need help selling &amp;quot;Ruby&amp;quot; to the non-Ruby masses. We&amp;#039;re so close to Ruby that we forget (or at least don&amp;#039;t address the fact) that Ruby itself requires a bit of selling at times. Most of our presentations and posts are focused on people who have already decided Ruby is the way to go. Hopefully as JRuby continues to gain momentum, we&amp;#039;ll see more folks from the Ruby world selling to non-Ruby developers, and since many of those developers are using JVM-based libraries and languages, JRuby will be a natural progression. </description>
<pubDate>Wed, 4 Nov 2009 07:32:55 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2009/getting-started-with-jruby/#IDComment41916581</guid>
</item><item>
<title>Union Station : JRuby&#039;s Future at Engine Yard</title>
<link>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29398103</link>
<description>That may be the case, but the purchaser doesn&amp;#039;t simply throw a dart at a board. They measure reliability, supportability, TCO, ROI, TTM. Rails covers a number of those, and a commercially-backed JRuby can cover most of the others. And I think we&amp;#039;ve shown that JRuby is a strong, viable technology made stronger by the backing of a world-class Ruby and Rails company.  However, I&amp;#039;d love to talk with you offline about your theories on adoption. I&amp;#039;m sure we could learn from you and you may be able to learn from us. Our goal is to make JRuby the best JVM language and runtime we can possibly make it, and we&amp;#039;ll leave no stone unturned along that path. Feel free to email me directly. </description>
<pubDate>Tue, 4 Aug 2009 07:57:24 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29398103</guid>
</item><item>
<title>Union Station : JRuby&#039;s Future at Engine Yard</title>
<link>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29397736</link>
<description>I should also mention that we have the deepest respect for Sun and loved working with them. They helped teach us the value of the developer, and helped us realize that technology decisions are made (and should be made) from the bottom up. We look forward to continuing to make JRuby the &amp;quot;developer&amp;#039;s best friend&amp;quot;, just like Ruby is a language &amp;quot;optimized for programmers happiness.&amp;quot; </description>
<pubDate>Tue, 4 Aug 2009 07:51:03 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29397736</guid>
</item><item>
<title>Union Station : JRuby&#039;s Future at Engine Yard</title>
<link>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29397001</link>
<description>I personally believe that enterprise acceptance starts with developers, and developers no longer trust the big, lumbering corporations like they used to. The JVM is the Platform of the People, and Ruby is the people-oriented language. Together they make a perfect combination, and what better company to shepherd the next round of JRuby evolution than Engine Yard? </description>
<pubDate>Tue, 4 Aug 2009 07:39:02 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29397001</guid>
</item><item>
<title>Union Station : JRuby&#039;s Future at Engine Yard</title>
<link>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29396809</link>
<description>Domo Arigato, Luigi!  First off, you should check out my blog post from this weekend:  &lt;a href=&quot;http://blog.headius.com/2009/08/return-of-ruboto.html&quot; target=&quot;_blank&quot;&gt;http://blog.headius.com/2009/08/return-of-ruboto....&lt;/a&gt;  Ruboto (JRuby for Android) lives! And we&amp;#039;re not the only ones that think JRuby on Android is an awesome idea...the Android Scripting Environment now supports JRuby too:  &lt;a href=&quot;http://amazing-development.com/archives/2009/08/04/android-scripting-environment-supports-jruby/&quot; target=&quot;_blank&quot;&gt;http://amazing-development.com/archives/2009/08/0...&lt;/a&gt;  We (The JRuby Team) plan to also make JRuby usable as an *application* language for Android, with all the capabilities (and hopefully equivalent performance) as Java-based apps. We also received many comments from people trying out JRuby on Android this weekend, and several of them are interested in working with the JRuby team to build it into a first-class runtime for the Android platform. So rest assured, JRuby on Android is moving forward very quickly now. </description>
<pubDate>Tue, 4 Aug 2009 07:36:44 +0000</pubDate>
<guid>http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/#IDComment29396809</guid>
</item>	</channel>
</rss>