<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://groovy.dzone.com"  xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dz="http://www.developerzone.com/modules/dz/1.0" 0="xmlns:media=&quot;http://search.yahoo.com/mrss/&quot;">
<channel>
 <title>Groovy Zone - Comments for &quot;Is Groovy 60 Times Slower than Java?&quot;</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav</link>
 <description>Comments for &quot;Is Groovy 60 Times Slower than Java?&quot;</description>
 <language>en</language>
<item>
 <title>Because grails uses heavily</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2134</link>
 <description>&lt;!--paging_filter--&gt;Because grails uses heavily Java.&lt;br /&gt;</description>
 <pubDate>Thu, 27 Mar 2008 22:40:49 -0400</pubDate>
 <dc:creator>afsina</dc:creator>
 <guid isPermaLink="false">comment 2134 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>Whic is why we in the Groovy</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2127</link>
 <description>&lt;!--paging_filter--&gt;Whic is why we in the Groovy community support both Groovy &amp;amp; Java in the same project, we are not trying to replace Java, we are enhancing it. You will see some core components of Grails written in Java and not Groovy for the same reason. If speed and performance is required then drop to Java, if it really is a killer requirement, drop to C. Go to assembler to revive fond memories and have oodles of fun.</description>
 <pubDate>Thu, 27 Mar 2008 17:59:17 -0400</pubDate>
 <dc:creator>aalmiray</dc:creator>
 <guid isPermaLink="false">comment 2127 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>It&#039;s twice slower in my</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2102</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;It&#039;s &lt;i&gt;twice&lt;/i&gt; slower in my environment,&lt;/p&gt;&lt;p&gt;I&#039;m working in an pollution mathematical model -that sort of things where you need to run  handreds of millons of math cals- In a multicore workstation with OpenSuse Linux 10.3, the groovy version is twice slower for calculation, but when saving results (JDBC connection to MySql) Groovy is as faster as Java. Twice slower for math calcs is not bad while I get better, compact and mantainable code. &lt;/p&gt;</description>
 <pubDate>Thu, 27 Mar 2008 15:14:22 -0400</pubDate>
 <dc:creator>jsalvador</dc:creator>
 <guid isPermaLink="false">comment 2102 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>abies wrote:Still, my points</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2086</link>
 <description>&lt;!--paging_filter--&gt;&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;abies&lt;/em&gt; wrote:&lt;/div&gt;Still, my points stand. We may argue if language performance is important. In same cases it is, in other it isn&#039;t. But if we ARE comparing relative language performance, let&#039;s not mix unrelated arguments inside.&lt;p&gt;Plus, please do agree that Tiago&#039;s comment about assembly is not very good argument ;)&lt;/div&gt;&lt;/p&gt;&lt;p&gt;You&#039;re a gentleman and a scholar, Artur! I will gladly admit that there&#039;s some ambiguity and a bit of confusion present. In truth, I hadn&#039;t keyed in on the assembly language statement at first, and I agree with you that better arguments could be found :)&lt;/p&gt;&lt;p&gt;IMO, Tiago was trying to just share notes about his own efforts to find an answer to this question of Groovy&#039;s relative performance. In a way, I felt it was more a &amp;quot;thinking our load&amp;quot; and letting the public peek into his notes than an attempt to assert anything conclusively. Tiago seems to be looking for insights that help him better understand the issue and construct reasonable, thoughtful comparison code. &lt;/p&gt;&lt;p&gt;I didn&#039;t really sense him taking a position or setting out to &amp;quot;prove&amp;quot; a pre-determined conclusion. Instead, I really felt he was trying to sort it out to gain an understanding of what conclusions might be supported by what evidence. Instead of a thesis, I think we&#039;re seeing something more like lab notes.&lt;/p&gt;&lt;p&gt;Rick &lt;/p&gt;</description>
 <pubDate>Thu, 27 Mar 2008 07:50:21 -0400</pubDate>
 <dc:creator>rick</dc:creator>
 <guid isPermaLink="false">comment 2086 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>rick wrote:Artur! You&#039;re</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2083</link>
 <description>&lt;!--paging_filter--&gt;&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;rick&lt;/em&gt; wrote:&lt;/div&gt;&lt;p&gt;Artur! You&#039;re coming at me so strong!? Easy there! I&#039;m not playing a game, and Tiago isn&#039;t stupid. Be kind to the guy, for goodness sake.&lt;/p&gt;&lt;p&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;Sorry about the strong words - I was a bit tired yesterday when I was writing answer yesterday and probably I should wait till next day.&lt;/p&gt;&lt;p&gt;Still, my points stand. We may argue if language performance is important. In same cases it is, in other it isn&#039;t. But if we ARE comparing relative language performance, let&#039;s not mix unrelated arguments inside.&lt;/p&gt;&lt;p&gt;Plus, please do agree that Tiago&#039;s comment about assembly is not very good argument ;)&lt;/p&gt;</description>
 <pubDate>Thu, 27 Mar 2008 06:09:16 -0400</pubDate>
 <dc:creator>abies</dc:creator>
 <guid isPermaLink="false">comment 2083 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>If I wanted to create a</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2074</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;If I wanted to create a database driven, template processing, content management system, and deploy it on a Linux virtual dedicated hosting solution (gives you a linux root online for about $20, run your own name server, apache, mail server, firewall, and whatever you want), then I wouldn&#039;t consider using Groovy.  I&#039;ve created twice, a content management system in Java, and the performance was not bad.  But if the general flow of the system would run 60 times slower, I really don&#039;t think I could put any load on this thing whatsoever.&lt;/p&gt;&lt;p&gt;To get the performance up, isn&#039;t it possible that Groovy tries to compile code without all the method calls and introspection, if it knows what you&#039;re doing?  Perhaps (re)compile things at runtime.  For instance, when a method is called and the parameters passed in are all Integers and all the elements inside the methods are known, it could compile an alternative version of that method that it can quickly jump to the next time that method is called with those same parameter types.  That code could be cached of course.&lt;/p&gt;&lt;p&gt;Anyway, my standpoint is that unless Groovy makes a serious commitment towards performance, other than just tweaks, I can&#039;t use it. &lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 23:59:16 -0400</pubDate>
 <dc:creator>okidoky</dc:creator>
 <guid isPermaLink="false">comment 2074 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>Fact is, Groovy is pig slow</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2073</link>
 <description>&lt;!--paging_filter--&gt;&lt;blockquote&gt;Fact is, Groovy is pig slow because it goes through ten layers of dynamic and meta stuff every time you attempt to add two integers. This is absurd.  &lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Hmmm....groovy is no speed demon. But I&#039;ve used it for a few Grails apps, a couple of buisness logic layers and currently for doing scientific image analysis. Used judiciously, Groovy&#039;s performance is certainly acceptable.&lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 23:39:20 -0400</pubDate>
 <dc:creator>hohonuuli</dc:creator>
 <guid isPermaLink="false">comment 2073 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>abies wrote:Are we serious</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2070</link>
 <description>&lt;!--paging_filter--&gt;&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;abies&lt;/em&gt; wrote:&lt;/div&gt;Are we serious here? If somebody wants to hire you as a truck driver and ask for driving license, do you answer &amp;quot;Cars are overrated, I prefer mass transport&amp;quot;? If you want to play this game, title you post &amp;quot;Is performance important?&amp;quot; or something like this. &lt;p&gt;The blog entries you have linked to are plain stupid sometimes.&lt;/div&gt;&lt;/p&gt;&lt;p&gt;Artur! You&#039;re coming at me so strong!? Easy there! I&#039;m not playing a game, and Tiago isn&#039;t stupid. Be kind to the guy, for goodness sake.&lt;/p&gt;&lt;p&gt;This is a friendly dialogue about one developer&#039;s attempt to zero in on performance issues to see if he could make significant improvements. He documents some ways in which he has achieved material gains, acknowledges that he can alway just use Java in the critical areas, and is fundamentally friendly (if not plainly self-effacing) and informative about his process and the details of his attempts. Why attack this? I don&#039;t get it.&lt;/p&gt;&lt;p&gt;(Maybe it&#039;s just late, and I am in an easygoing, friendly mood. I don&#039;t wanna get in some silly argument, but I&#039;d be delighted to hear how further improvements could be made to speed up Tiago&#039;s tests.)&lt;/p&gt;&lt;p&gt;Rick&lt;/p&gt;&lt;p&gt;PS - I&#039;d be willing to bet that we could find someone not so many years ago who posted similarly strong statements about how Java wouldn&#039;t and couldn&#039;t ever reach acceptable performance levels. Never is a long time, so I wouldn&#039;t count Groovy out. &lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 21:46:00 -0400</pubDate>
 <dc:creator>rick</dc:creator>
 <guid isPermaLink="false">comment 2070 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>Is groovy 60 times slower</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2066</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Is groovy 60 times slower than java?&lt;/p&gt;&lt;p&gt;&amp;quot;Performance is overrated&amp;quot;&lt;/p&gt;&lt;p&gt;&amp;quot;It is not 60 times slower, it is 300 times slower, but if you cheat and include jvm startup time, it looks better&amp;quot;&lt;/p&gt;&lt;p&gt;Are we serious here? If somebody wants to hire you as a truck driver and ask for driving license, do you answer &amp;quot;Cars are overrated, I prefer mass transport&amp;quot;? If you want to play this game, title you post &amp;quot;Is performance important?&amp;quot; or something like this. &lt;/p&gt;&lt;p&gt;The blog entries you have linked to are plain stupid sometimes. To quote few cases&lt;/p&gt;&lt;p&gt;&amp;quot;If performance was the fundamental variable, we would all be using assembler.&amp;quot;&lt;/p&gt;&lt;p&gt;So, if increasing expressiveness 10  times (assembly to C) is worth 5% slowdown, then obviously increasing expressiveness 2 times (java to groovy?) is worth 30000% slowdown. Actually, why limit ourselves to assembler? If performance would matter, we would be all designing cpus running our programs directly in metal.&lt;/p&gt;&lt;p&gt;&amp;quot;I am currently doing a bit of code to go over tens of millions of lines of text&amp;quot;&lt;/p&gt;&lt;p&gt;If we are comparing speed of two languages, let&#039;s try something IO bound. Have I already mentioned including jvm startup time?&lt;/p&gt;&lt;p&gt;&amp;quot;This is not serious as it is possible to write all Groovy intensive parts in Java.&amp;quot;&lt;/p&gt;&lt;p&gt;I suppose he meant &amp;quot;performance intensive&amp;quot;. Obviously, this is true - it proves the point that groovy is too slow to be anything other than glue language. &lt;/p&gt;&lt;p&gt;Just accept this - groovy is slow (we are talking about 2 orders of magnitude here) and will not be fast.  It was not designed to be fast. You cannot add performance to so baroque language afterwards - I&#039;m hearing about how groovy will get faster for last 3 years, &amp;quot;try newest version&amp;quot;, &amp;quot;we have improved it so much&amp;quot; and still I see it 100-300 times slower for language speed tests. &lt;/p&gt;&lt;p&gt;You can find usages for it. You can find benchmarks where you don&#039;t stress groovy, but network, database, filesystem and it will be almost as fast as java (or even faster if you cheat by using groovy libraries but implementing it by hand in wrong way in java). But &lt;b&gt;language&lt;/b&gt; itself is designed to be slow and it&#039;s implementation is even slower.&lt;/p&gt;&lt;p&gt;At the time I&#039;ll be able to put groovy as a scripting language inside our investment banking system observing 200000 options, I&#039;ll officially say &amp;quot;Sorry, I was wrong&amp;quot;. And don&#039;t tell me it is very special case - it is the case where you may want to speak about the performance. Comparing performance in non-performance critical uses is just wrong. &lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 19:03:51 -0400</pubDate>
 <dc:creator>abies</dc:creator>
 <guid isPermaLink="false">comment 2066 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>chiss wrote:I find it&#039;s too</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2061</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;&lt;div class=&quot;quote&quot;&gt;&lt;div class=&quot;quote-author&quot;&gt;&lt;em&gt;chiss&lt;/em&gt; wrote:&lt;/div&gt;I find it&#039;s too easy to fall in the trap of &amp;quot;this language is slower than that language&amp;quot; ... People too easily forget that PERCEIVED performance is what counts;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;I really have to agree with you on this point, Francis. There are lots of scenarios where one product/language/platform is faster than another, but both are more than adequate to get the job done well. It is way too easy to get sucked into comparing big tables of numbers and forget that the human differences may still be negligible. Fast enough is, well...fast enough!&lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 16:32:19 -0400</pubDate>
 <dc:creator>rick</dc:creator>
 <guid isPermaLink="false">comment 2061 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>I find it&#039;s too easy to fall</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2054</link>
 <description>&lt;!--paging_filter--&gt;I find it&#039;s too easy to fall in the trap of &amp;quot;this language is slower than that language&amp;quot; ... People too easily forget that PERCEIVED performance is what counts; if the user finds something slow, then this is what needs to be worked on, not the algorithm that takes 30ms in one language and 2 in another ... Unless of course the algorithm is called a bazillion times in a loop and the GUI is waiting for it!</description>
 <pubDate>Wed, 26 Mar 2008 13:12:14 -0400</pubDate>
 <dc:creator>chiss</dc:creator>
 <guid isPermaLink="false">comment 2054 at http://groovy.dzone.com</guid>
</item>
<item>
 <title>Tiago&#039;s analysis is</title>
 <link>http://groovy.dzone.com/news/groovy-vs-java-performance-jav#comment-2052</link>
 <description>&lt;!--paging_filter--&gt;&lt;p&gt;Tiago&#039;s analysis is additional evidence that Groovy is still heavily broken performance-wise. This is not defensible with productivity vs. performance arguments, simply because there are other languages with similar features - MOP, dynamic typing etc. - that perform much better. Including JRuby, which allows an apples-to-apples comparison as it shares the same runtime. And JRuby faces some additional challenges, because the Ruby language is full of bad design choices that impact performance heavily without any good excuse (Charles Nutter blogged extensively over these issues, &lt;a href=&quot;http://headius.blogspot.com/2007/04/what-would-i-will-i-change-about-ruby.html&quot;&gt;here for example&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Yes I can put up with a language that is slow because it has some features that I want, and consider more important than some performance disadvantage that is an intrinsice cost of those features uner current compiler/runtime technology. But a very different thing is accepting massive performance disadvantage that&#039;s mostly related to a weak implementation. Would anybody, these days, use Java if it had mediocre GC performance, now that advanced GC implementations are available (and even a commodity)? Not me, that&#039;s for sure.&lt;/p&gt;&lt;p&gt;Fact is, Groovy is pig slow because it goes through ten layers of dynamic and meta stuff every time you attempt to add two integers. This is absurd. Any competitive dynamic language needs a compiler/runtime that&#039;s smart enough to remove most of this overhead (e.g. with type inference).&lt;/p&gt;</description>
 <pubDate>Wed, 26 Mar 2008 12:44:21 -0400</pubDate>
 <dc:creator>opinali</dc:creator>
 <guid isPermaLink="false">comment 2052 at http://groovy.dzone.com</guid>
</item>
</channel>
</rss>
