<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-6098392112071095875.post8888697548179717597..comments</id><updated>2010-11-23T07:48:18.136-05:00</updated><category term='Hibernate'/><category term='Code'/><category term='Productivity'/><category term='Opinion'/><category term='Spring'/><category term='Performance'/><category term='Agile'/><category term='Java'/><category term='Scrum'/><title type='text'>Comments on Code Instructions: Java Performance</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.codeinstructions.com/feeds/8888697548179717597/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html'/><author><name>Domingos Neto</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_HHFrwTieqY8/STh7yQ1m0bI/AAAAAAAAABs/8BJWpydZgZ4/S220/cruzes.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-9216640968087173550</id><published>2008-12-12T05:37:00.000-05:00</published><updated>2008-12-12T05:37:00.000-05:00</updated><title type='text'>@Anonymous: Today's Java implementations can be as...</title><content type='html'>@Anonymous: Today's Java implementations can be as fast as C++ even on &lt;A HREF="http://www.stefankrause.net/wp/?p=9" REL="nofollow"&gt;number crunching&lt;/A&gt;.&lt;BR/&gt;&lt;BR/&gt;@Casper Bang: &lt;A HREF="http://en.wikipedia.org/wiki/AOT_compiler" REL="nofollow"&gt;Ahead-Of-Time compilation&lt;/A&gt; can greatly improve the perceived performance of Java apps on the desktop.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/9216640968087173550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/9216640968087173550'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1229078220000#c9216640968087173550' title=''/><author><name>dleskov</name><uri>http://www.blogger.com/profile/07636065261953938780</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1578352818'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-8222511962946183007</id><published>2008-12-06T01:42:00.000-05:00</published><updated>2008-12-06T01:42:00.000-05:00</updated><title type='text'>In a technical discussion I like to see quantitati...</title><content type='html'>In a technical discussion I like to see quantitative comparisons with carefully investigated numbers.&lt;BR/&gt;&lt;BR/&gt;As a java and C/C++ user (a programmer since 25 years ago) I cannot trust your judgment about C++ and Java.&lt;BR/&gt;&lt;BR/&gt;As a scientist (doing mostly numerical and simulation works) I have accepted the fact that development of a Java software is easier while C++ will produce faster software. &lt;BR/&gt;&lt;BR/&gt;I hate to see people try to ignore facts.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8222511962946183007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8222511962946183007'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228545720000#c8222511962946183007' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1172847630'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-3209338515073799674</id><published>2008-12-03T06:51:00.000-05:00</published><updated>2008-12-03T06:51:00.000-05:00</updated><title type='text'>"why not compile the RT-packages of Java directly ...</title><content type='html'>"why not compile the RT-packages of Java directly to binary and use them on starting faster?"&lt;BR/&gt;&lt;BR/&gt;Something along those lines actually happens today. The binary rt.jar is cached and can be copied into memory very fast without bytecode parsing and validation. &lt;BR/&gt;What I don't understand is why this mechanism isn't utilized more for libraries and 3'rd part applications as well. .NET can do something along those lines (compile to GAC) if instructed as far as I remember.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/3209338515073799674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/3209338515073799674'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228305060000#c3209338515073799674' title=''/><author><name>Casper Bang</name><uri>http://www.blogger.com/profile/09493174484116672294</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp0.blogger.com/_CauKCPUdin4/R82eRB-5k-I/AAAAAAAAAAk/ReXHrS3PQSs/S220/casper.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-417317194'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-8264243864201272378</id><published>2008-12-03T04:18:00.000-05:00</published><updated>2008-12-03T04:18:00.000-05:00</updated><title type='text'>eCompositer &amp;gt; reduce the memory of the machines...</title><content type='html'>eCompositer &amp;gt; reduce the memory of the machines (to the need of a program written in C/C++) and use a Java program doing the same!&lt;BR/&gt;In most cases the Java-VM would not start at all!&lt;BR/&gt;So, if you have a big memory - use Java, in all other cases - use C/C++!&lt;BR/&gt;&lt;BR/&gt;A big question for me is: why not compile the RT-packages of Java directly to binary and use them on starting faster? (first time start of the VM -&amp;gt; make a compile run and save the whole binary And use this binary as an input to the JIT)?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8264243864201272378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8264243864201272378'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228295880000#c8264243864201272378' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1988442328'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-5298008045129068192</id><published>2008-12-02T22:29:00.000-05:00</published><updated>2008-12-02T22:29:00.000-05:00</updated><title type='text'>Maybe a bit off-topic, but IMHO I always though th...</title><content type='html'>Maybe a bit off-topic, but IMHO I always though that Sun made a very bad move when it was releasing Java. Most of the people still remembers Java from the times when those gray applet boxes used to freeze the whole browser. If Java were released as a way to distribute open source desktop applications via webstart for example, Sun could have avoided the negative psychological effect the old applets still have.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/5298008045129068192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/5298008045129068192'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228274940000#c5298008045129068192' title=''/><author><name>akira</name><uri>http://www.blogger.com/profile/11657796341247928582</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1896800502'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-3618426947473164351</id><published>2008-12-02T15:12:00.000-05:00</published><updated>2008-12-02T15:12:00.000-05:00</updated><title type='text'>It's not java that is slow it is the people who ma...</title><content type='html'>It's not java that is slow it is the people who make comments like the one above.  Faster hardware  makes both languages faster.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/3618426947473164351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/3618426947473164351'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228248720000#c3618426947473164351' title=''/><author><name>eCompositor</name><uri>http://www.blogger.com/profile/10579281466127031996</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-107103141'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-5430825422187618936</id><published>2008-12-01T14:55:00.000-05:00</published><updated>2008-12-01T14:55:00.000-05:00</updated><title type='text'>It's not Java that has gotten so much faster. It's...</title><content type='html'>It's not Java that has gotten so much faster. It's the hardware.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/5430825422187618936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/5430825422187618936'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228161300000#c5430825422187618936' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1866729755'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-7177193105500563678</id><published>2008-12-01T14:13:00.000-05:00</published><updated>2008-12-01T14:13:00.000-05:00</updated><title type='text'>Domingos &lt;em&gt;&amp;gt; The purpose of this post is to t...</title><content type='html'>Domingos &lt;EM&gt;&amp;gt; The purpose of this post is to talk about the theory behind the Java optimization techniques... but nothing like hard data to prove a point. So here are the links to some benchmarks found on the web&lt;/EM&gt;&lt;BR/&gt;&lt;BR/&gt;You haven't tried to connect your specific comments on Java optimization techniques with specific example programs from those websites!&lt;BR/&gt;&lt;BR/&gt;Have you actually looked at what those measured programs do?&lt;BR/&gt;&lt;BR/&gt;Both the "The Java Faster than C++" websites are from 2004, and both are based on &lt;A HREF="http://web.archive.org/web/20041012094536/www.bagley.org/~doug/shootout/news.shtml" REL="nofollow"&gt;Doug Bagley's website which was last updated in 2001.&lt;/A&gt; &lt;BR/&gt;&lt;BR/&gt;Back in 2004, The Computer Language Benchmarks Game started out with those same tests from Doug Bagley's website - but those tests have been replaced with new ones that do some work, and new implementations are still being contributed.&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;Domingos &lt;EM&gt;&amp;gt; ... C++ wins most of the comparisons, but in most of the cases by a very close margin ...&lt;/EM&gt;&lt;BR/&gt;&lt;BR/&gt;What does "very close margin" mean - &lt;A HREF="http://shootout.alioth.debian.org/u32/benchmark.php?test=all&amp;lang=gpp&amp;lang2=java#ratio" REL="nofollow"&gt;20%, 100%, 400%&lt;/A&gt; ?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7177193105500563678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7177193105500563678'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228158780000#c7177193105500563678' title=''/><author><name>Isaac Gouy</name><uri>http://www.blogger.com/profile/02902123247585964087</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-654346860'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-7914534359703609668</id><published>2008-12-01T09:41:00.000-05:00</published><updated>2008-12-01T09:41:00.000-05:00</updated><title type='text'>Last year, we have to developp a small application...</title><content type='html'>Last year, we have to developp a small application that transforms a "raw ticket" (paths in a graph in text format) generated by application A for application B to use it.&lt;BR/&gt;I wrote it in C++ and the average ticket processing time was 200ms. A friend wrote it in Java to proove it can perform the same and after 3 optimization sessions, his highscore was ... 1200ms !!!&lt;BR/&gt;It was only string processing ...&lt;BR/&gt;When performance is a hint, forget Java. Really.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7914534359703609668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7914534359703609668'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228142460000#c7914534359703609668' title=''/><author><name>ECC</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-887731300'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-6118237297137490971</id><published>2008-12-01T08:09:00.000-05:00</published><updated>2008-12-01T08:09:00.000-05:00</updated><title type='text'>I was used to develop in Visual Basic. I guess tha...</title><content type='html'>I was used to develop in Visual Basic. I guess that the performance impact of Java may be less than for VB.&lt;BR/&gt;&lt;BR/&gt;From my experience with Java the only performance impact that can be seen with the "free eye" as the normal user is the startup delay of a Java application because of JVM loading in the background. However, it already got much better with Java 6 in relation to Java 5 - so my impression.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/6118237297137490971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/6118237297137490971'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228136940000#c6118237297137490971' title=''/><author><name>Martin Wildam</name><uri>http://www.blogger.com/profile/10078822365635360301</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://2.bp.blogspot.com/_1AEgjWh7u1w/SS5IfBKFviI/AAAAAAAAAJM/alSqOu_BWZk/S220/mwildam-small.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1082976527'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-7319345746609224815</id><published>2008-11-30T19:47:00.000-05:00</published><updated>2008-11-30T19:47:00.000-05:00</updated><title type='text'>Object allocation is not costly, object initializa...</title><content type='html'>Object allocation is not costly, object initialization is. Even a simple object holding 3 float-s takes long to initialize to 0. Object reuse is (still) the solution.&lt;BR/&gt;&lt;BR/&gt;The JIT is able to eliminate only the most obvious bounds checks in loops. Eliminating bounds checks has also its runtime costs. The solution may be a hint annotation to enable more aggressive bounds check elimination. &lt;BR/&gt;&lt;BR/&gt;The problem with GC is not the GC itself, but cost of object initialization, and that objects are laid out randomly in memory, thus when sequentially accessing objects in an array, the CPU cannot benefit from the cache. Accessing an array of primitives is way faster then accessing objects in an array. There is no stack allocation in Java. Escape analysis may prove to be the solution for that.&lt;BR/&gt;&lt;BR/&gt;The overhead of objects makes working with lots of small objects inefficient. There is an RFE to have a less costly "struct"-like construct in Java, but its been there for years, without Sun implementing it, and Java conservatives don't like it.&lt;BR/&gt;&lt;BR/&gt;Java still goes trough JNI for some math calculations, while C++ can take use of the newest SSE instruction sets. Automatic vectorization of loops and use of new instruction sets would be the solution. I doubt that a matrix library written in Java can ever be so efficient like a hand-optimized C++ matrix library. Unless such a library becomes part of the JDK itself and is implemented in up-to-date native code.&lt;BR/&gt;&lt;BR/&gt;Once, Java had better threading than C++, but now OpenMP is supported by most C++ compilers, while Java doesn't have it.&lt;BR/&gt;&lt;BR/&gt;Java came close to C++ at one moment, but its lagging behind again.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7319345746609224815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/7319345746609224815'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228092420000#c7319345746609224815' title=''/><author><name>Arpad</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1589298461'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-9110680807651607954</id><published>2008-11-30T16:07:00.000-05:00</published><updated>2008-11-30T16:07:00.000-05:00</updated><title type='text'>What was missing from the JIT part is escape analy...</title><content type='html'>What was missing from the JIT part is escape analysis. I'm not sure if it's in JRE 6u10 yet, but will be in 7 at least.&lt;BR/&gt;&lt;BR/&gt;Escape analysis makes sure that for example defensive programming (returning cloned/copy-constructed instances of private fields) might not really return a copy, if the code used after the getter in question doesn't modify the instance at all.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/9110680807651607954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/9110680807651607954'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228079220000#c9110680807651607954' title=''/><author><name>rzei</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1216179723'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-8995677245779063090</id><published>2008-11-30T09:59:00.000-05:00</published><updated>2008-11-30T09:59:00.000-05:00</updated><title type='text'>@Jason, there is perceived performance (how long i...</title><content type='html'>@Jason, there is perceived performance (how long it takes to get a response) and there's raw performance (calculations pr. sec. when JIT'ed).&lt;BR/&gt;&lt;BR/&gt;It's my experience critical people refer to the first one, and it very much falls into desktop vs. server usage of Java.&lt;BR/&gt;&lt;BR/&gt;If only Sun had not ignored the desktop from 98' - 05'. That is, if Sun had started modularizing the JRE years ago, fixed the browser plugin and relied on more on native peers (like SWT), the general opinion might be somewhat different.&lt;BR/&gt;&lt;BR/&gt;That's the legacy of Java on the desktop whether you like it or not. Why do you suppose a company like Google would prefer to pour money into Wine for a cross-platform experience, than writing Picasa and Google Earth in Java?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8995677245779063090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/8995677245779063090'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228057140000#c8995677245779063090' title=''/><author><name>Casper Bang</name><uri>http://www.blogger.com/profile/09493174484116672294</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp0.blogger.com/_CauKCPUdin4/R82eRB-5k-I/AAAAAAAAAAk/ReXHrS3PQSs/S220/casper.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-417317194'/></entry><entry><id>tag:blogger.com,1999:blog-6098392112071095875.post-1995765012864366294</id><published>2008-11-30T08:11:00.000-05:00</published><updated>2008-11-30T08:11:00.000-05:00</updated><title type='text'>Great and informative post!  I'll use this as addi...</title><content type='html'>Great and informative post!  I'll use this as additional ammo the next time I get another "java is slow" troll.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/1995765012864366294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6098392112071095875/8888697548179717597/comments/default/1995765012864366294'/><link rel='alternate' type='text/html' href='http://www.codeinstructions.com/2008/11/java-performance.html?showComment=1228050660000#c1995765012864366294' title=''/><author><name>Jason Whaley</name><uri>http://www.blogger.com/profile/05362549195700900828</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.codeinstructions.com/2008/11/java-performance.html' ref='tag:blogger.com,1999:blog-6098392112071095875.post-8888697548179717597' source='http://www.blogger.com/feeds/6098392112071095875/posts/default/8888697548179717597' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1471328956'/></entry></feed>
