<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Stefan Krause.blog()</title>
	<atom:link href="http://www.stefankrause.net/wp/?feed=comments-rss2" rel="self" type="application/rss+xml" />
	<link>http://www.stefankrause.net/wp</link>
	<description>{ throw new NoFunnyProverbFoundException(); }</description>
	<lastBuildDate>Sun, 14 Mar 2010 20:07:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Java vs. C benchmark #2: JET, harmony and GCJ by Another Question on What Language to use!</title>
		<link>http://www.stefankrause.net/wp/?p=6&#038;cpage=1#comment-214</link>
		<dc:creator>Another Question on What Language to use!</dc:creator>
		<pubDate>Sun, 14 Mar 2010 20:07:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=6#comment-214</guid>
		<description>[...] hence they are not directly equivalent.         Really? Where&#039;d you get these statistics?    Stefan Krause.blog() Blog Archive Java vs. C benchmark #2: JET, harmony and GCJ      Well excuse me if I don&#039;t own my own server farm.    It is not needed. Server Java executes [...]</description>
		<content:encoded><![CDATA[<p>[...] hence they are not directly equivalent.         Really? Where&#8217;d you get these statistics?    Stefan Krause.blog() Blog Archive Java vs. C benchmark #2: JET, harmony and GCJ      Well excuse me if I don&#8217;t own my own server farm.    It is not needed. Server Java executes [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java vs. C benchmark #2: JET, harmony and GCJ by Ivan Maidanski</title>
		<link>http://www.stefankrause.net/wp/?p=6&#038;cpage=1#comment-212</link>
		<dc:creator>Ivan Maidanski</dc:creator>
		<pubDate>Fri, 12 Feb 2010 09:59:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=6#comment-212</guid>
		<description>Stefan, I could suggest another tool for the benchmark - JCGO (http://www.ivmaisoft.com/jcgo/), a Java-to-C ahead-of-time translator, which, in conjunction with a good C/C++ compiler, could produce a highly optimized native code for the targeted platform.</description>
		<content:encoded><![CDATA[<p>Stefan, I could suggest another tool for the benchmark &#8211; JCGO (<a href="http://www.ivmaisoft.com/jcgo/" rel="nofollow">http://www.ivmaisoft.com/jcgo/</a>), a Java-to-C ahead-of-time translator, which, in conjunction with a good C/C++ compiler, could produce a highly optimized native code for the targeted platform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java vs. C benchmark by bolovan</title>
		<link>http://www.stefankrause.net/wp/?p=4&#038;cpage=1#comment-206</link>
		<dc:creator>bolovan</dc:creator>
		<pubDate>Thu, 14 Jan 2010 14:54:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=4#comment-206</guid>
		<description>I looked on the code used for testing. The idea of a balancing test them and see how potent language or another. Therefore. Is around 60% faster to pass a pointer to a function than a variable. More, in your example, you pass a #define const as a parameter...why?
C/C++ can be very very slow if you write a bad code...but much more faster than allmost all high languages. And very close to asm language. I sow a lot of test that are writed in C++ in Java stile. Is like you drive an aricraft in car stile...is not working...</description>
		<content:encoded><![CDATA[<p>I looked on the code used for testing. The idea of a balancing test them and see how potent language or another. Therefore. Is around 60% faster to pass a pointer to a function than a variable. More, in your example, you pass a #define const as a parameter&#8230;why?<br />
C/C++ can be very very slow if you write a bad code&#8230;but much more faster than allmost all high languages. And very close to asm language. I sow a lot of test that are writed in C++ in Java stile. Is like you drive an aricraft in car stile&#8230;is not working&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by Excelsior JET 7.0 Beta Announcement In `tomcat-users&#8217; - Excelsior blog</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-197</link>
		<dc:creator>Excelsior JET 7.0 Beta Announcement In `tomcat-users&#8217; - Excelsior blog</dc:creator>
		<pubDate>Wed, 23 Sep 2009 11:36:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-197</guid>
		<description>[...] and we have prospects canceling evaluation because of the slowdown. I can point you to some third-party benchmarks, but your mileage will vary, one way or [...]</description>
		<content:encoded><![CDATA[<p>[...] and we have prospects canceling evaluation because of the slowdown. I can point you to some third-party benchmarks, but your mileage will vary, one way or [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by Isaac Gouy</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-193</link>
		<dc:creator>Isaac Gouy</dc:creator>
		<pubDate>Wed, 22 Apr 2009 01:07:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-193</guid>
		<description>fyi the Python scripts that implement the &#039;Statistically Rigorous Java Performance Evaluation&#039; measurement techniques are freely available:

http://www.elis.ugent.be/JavaStats</description>
		<content:encoded><![CDATA[<p>fyi the Python scripts that implement the &#8216;Statistically Rigorous Java Performance Evaluation&#8217; measurement techniques are freely available:</p>
<p><a href="http://www.elis.ugent.be/JavaStats" rel="nofollow">http://www.elis.ugent.be/JavaStats</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by Isaac Gouy</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-192</link>
		<dc:creator>Isaac Gouy</dc:creator>
		<pubDate>Tue, 21 Apr 2009 22:15:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-192</guid>
		<description>fyi &quot;Statistically Rigorous Java Performance Evaluation&quot;

http://buytaert.net/files/oopsla07-georges.pdf</description>
		<content:encoded><![CDATA[<p>fyi &#8220;Statistically Rigorous Java Performance Evaluation&#8221;</p>
<p><a href="http://buytaert.net/files/oopsla07-georges.pdf" rel="nofollow">http://buytaert.net/files/oopsla07-georges.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by Java Faster Than C ? &#124; keyongtech</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-189</link>
		<dc:creator>Java Faster Than C ? &#124; keyongtech</dc:creator>
		<pubDate>Sun, 18 Jan 2009 17:07:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-189</guid>
		<description>[...] Re: Java Faster Than C ?     Rishi Boparai &lt;rishiboparai&gt; writes: &gt;Can Java be faster than &#039;C&#039;? Incredible but true.  There seems to have been a new benchmark execution that shows Jet 6.4 to be about as fast as GCC, while VMs also achieved impressive results, but still are about half as fast on the average:  </description>
		<content:encoded><![CDATA[<p>[...] Re: Java Faster Than C ?     Rishi Boparai &lt;rishiboparai&gt; writes: &gt;Can Java be faster than &#8216;C&#8217;? Incredible but true.  There seems to have been a new benchmark execution that shows Jet 6.4 to be about as fast as GCC, while VMs also achieved impressive results, but still are about half as fast on the average:</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by BlueJ contra Python &#124; hilpers</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-188</link>
		<dc:creator>BlueJ contra Python &#124; hilpers</dc:creator>
		<pubDate>Sun, 18 Jan 2009 10:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-188</guid>
		<description>[...] 6u6 1.07 : 1.79  laut der Abbildung  http://www.stefankrause.net/wp/imgs/geom_mean_0806.png  von  http://www.stefankrause.net/wp/?p=9  Damit ist bei Jet 6.4 die automatische Speicherverwaltung von Java und sind die weitergehenden [...]</description>
		<content:encoded><![CDATA[<p>[...] 6u6 1.07 : 1.79  laut der Abbildung  <a href="http://www.stefankrause.net/wp/imgs/geom_mean_0806.png" rel="nofollow">http://www.stefankrause.net/wp/imgs/geom_mean_0806.png</a>  von  <a href="http://www.stefankrause.net/wp/?p=9" rel="nofollow">http://www.stefankrause.net/wp/?p=9</a>  Damit ist bei Jet 6.4 die automatische Speicherverwaltung von Java und sind die weitergehenden [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Java vs. C benchmark by Jason Smith</title>
		<link>http://www.stefankrause.net/wp/?p=4&#038;cpage=1#comment-187</link>
		<dc:creator>Jason Smith</dc:creator>
		<pubDate>Mon, 29 Dec 2008 01:53:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=4#comment-187</guid>
		<description>&quot;C/C++ is compiled, and optimised against the target CPU (if done properly)
Java is turned into bytecode and executed on a virtual machine.
There is no way that a java ‘program’ can be as fast unless the C/C++ coder has done something very stupid!&quot;

C/C++ is compiled - STATICALLY - against a range of CPUs.  Java bytecode is loaded at runtime, quickly JIT compiled, and then compiled dynamically as the program &quot;ages.&quot;  This means that Java code can not only be compiled against a very specific processor, but it can also optimise things like &quot;branch prediction,&quot; because it can watch the program run for a while before it optimally compiles the code.  This is why the &quot;-server&quot; JVM waits until a piece of code has been called at least 10,000 times (by default) before compiling it to machine code.

One of the main reasons that Java can be faster than C++ in real world applications is that malloc is a very slow way of managing memory.  Predictable, yes.  Fast, no.  Java, by default uses very fast, very low overhead allocation and collection algorithms.  Although C/C++ can allocate some memory on the stack, the heap portion kills it.  There are alternate memory management schemes for C/C++, and some of these are much faster than the default malloc.

The bottom line here is that with Java 6, the running code is very close in performance to C/C++.  With Java 6u10, the startup penalty has been significantly reduced.  I use some very heavyweight Java applications in my day-to-day work.  Eclipse (Java on SWT), Oxygen Author (Java Swing), and NetBeans (Java Swing), to name a few.  These are seriously complex applications that are quite usable.  

In my current work, we have an application that is composed of about 50 individual projects, and has to be customized at the code level for each of a dozen or so customers.  We&#039;d never be able to handle the kind of complexity we have without Java (or without a whole lot more very talented programmers).  Every time I have looked at integrating C/C++ code to speed things up, I have found that Java seems to be about the same speed.  Why add more complexity?  


&quot;I see no advantage to using java except maybe through pure laziness. With gcc, and sensible coding, it is possible to produce cross platform code relatively easily in C/C++.&quot;

Take a look at .NET.  Microsoft has put many billions behind this Java-like project.  There are significant advantages to be gained from the programming model used by Java.  But you would have to not be &quot;lazy,&quot; and actually go and study Java and/or .NET with an open mind.  :-)</description>
		<content:encoded><![CDATA[<p>&#8220;C/C++ is compiled, and optimised against the target CPU (if done properly)<br />
Java is turned into bytecode and executed on a virtual machine.<br />
There is no way that a java ‘program’ can be as fast unless the C/C++ coder has done something very stupid!&#8221;</p>
<p>C/C++ is compiled &#8211; STATICALLY &#8211; against a range of CPUs.  Java bytecode is loaded at runtime, quickly JIT compiled, and then compiled dynamically as the program &#8220;ages.&#8221;  This means that Java code can not only be compiled against a very specific processor, but it can also optimise things like &#8220;branch prediction,&#8221; because it can watch the program run for a while before it optimally compiles the code.  This is why the &#8220;-server&#8221; JVM waits until a piece of code has been called at least 10,000 times (by default) before compiling it to machine code.</p>
<p>One of the main reasons that Java can be faster than C++ in real world applications is that malloc is a very slow way of managing memory.  Predictable, yes.  Fast, no.  Java, by default uses very fast, very low overhead allocation and collection algorithms.  Although C/C++ can allocate some memory on the stack, the heap portion kills it.  There are alternate memory management schemes for C/C++, and some of these are much faster than the default malloc.</p>
<p>The bottom line here is that with Java 6, the running code is very close in performance to C/C++.  With Java 6u10, the startup penalty has been significantly reduced.  I use some very heavyweight Java applications in my day-to-day work.  Eclipse (Java on SWT), Oxygen Author (Java Swing), and NetBeans (Java Swing), to name a few.  These are seriously complex applications that are quite usable.  </p>
<p>In my current work, we have an application that is composed of about 50 individual projects, and has to be customized at the code level for each of a dozen or so customers.  We&#8217;d never be able to handle the kind of complexity we have without Java (or without a whole lot more very talented programmers).  Every time I have looked at integrating C/C++ code to speed things up, I have found that Java seems to be about the same speed.  Why add more complexity?  </p>
<p>&#8220;I see no advantage to using java except maybe through pure laziness. With gcc, and sensible coding, it is possible to produce cross platform code relatively easily in C/C++.&#8221;</p>
<p>Take a look at .NET.  Microsoft has put many billions behind this Java-like project.  There are significant advantages to be gained from the programming model used by Java.  But you would have to not be &#8220;lazy,&#8221; and actually go and study Java and/or .NET with an open mind.  <img src='http://www.stefankrause.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Update For Java Benchmark by Curious about GCJ</title>
		<link>http://www.stefankrause.net/wp/?p=9&#038;cpage=1#comment-184</link>
		<dc:creator>Curious about GCJ</dc:creator>
		<pubDate>Mon, 01 Sep 2008 05:07:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.stefankrause.net/wp/?p=9#comment-184</guid>
		<description>Stefan,

Wonderful work, please keep it up!

Question: why was GCJ excluded from this round of benchmarking?  Is it because they haven&#039;t rereleased since your last benchmark?  At a glance, looking at your previous post, GCJ seems to compete with the top performers in most of these benchmarks.  Given that GCJ is free, and JET is commercial, that makes me wish it was included in all the benchmarks here!</description>
		<content:encoded><![CDATA[<p>Stefan,</p>
<p>Wonderful work, please keep it up!</p>
<p>Question: why was GCJ excluded from this round of benchmarking?  Is it because they haven&#8217;t rereleased since your last benchmark?  At a glance, looking at your previous post, GCJ seems to compete with the top performers in most of these benchmarks.  Given that GCJ is free, and JET is commercial, that makes me wish it was included in all the benchmarks here!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
