<?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 on: Python vs. Java: An update to a subjective speed comparison</title>
	<atom:link href="http://www.snaplogic.com/blog/?feed=rss2&#038;p=55" rel="self" type="application/rss+xml" />
	<link>http://www.snaplogic.com/blog/?p=55</link>
	<description>Thoughts on Open Source, Data Services, and Integration</description>
	<lastBuildDate>Tue, 25 May 2010 18:04:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: C++ vs Java vs Python &#171; Computing Life</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-68089</link>
		<dc:creator>C++ vs Java vs Python &#171; Computing Life</dc:creator>
		<pubDate>Thu, 29 Apr 2010 12:34:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-68089</guid>
		<description>[...] have not compared the performance of Java vs Python. But i assumed Python could be slower from what i have heard on the web. Please do correct me if iam wrong on the above [...]</description>
		<content:encoded><![CDATA[<p>[...] have not compared the performance of Java vs Python. But i assumed Python could be slower from what i have heard on the web. Please do correct me if iam wrong on the above [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Java != Slow &#171; Thermal Noise</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-1372</link>
		<dc:creator>Java != Slow &#171; Thermal Noise</dc:creator>
		<pubDate>Fri, 07 Sep 2007 20:49:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-1372</guid>
		<description>[...] back to the original topic of Java != Slow, here is an interesting study comparing Python and Java where Java is in some cases 30x faster than python even with Psyco [...]</description>
		<content:encoded><![CDATA[<p>[...] back to the original topic of Java != Slow, here is an interesting study comparing Python and Java where Java is in some cases 30x faster than python even with Psyco [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SnapLogic &#187; Python - the first and last language you&#8217;ll ever need</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-358</link>
		<dc:creator>SnapLogic &#187; Python - the first and last language you&#8217;ll ever need</dc:creator>
		<pubDate>Tue, 07 Aug 2007 18:48:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-358</guid>
		<description>[...] this post here when during the heated discussion that took place on reddit.com about my recent Python vs. Java speed comparison post I learned about a new way to describe Python: Executable pseudo [...]</description>
		<content:encoded><![CDATA[<p>[...] this post here when during the heated discussion that took place on reddit.com about my recent Python vs. Java speed comparison post I learned about a new way to describe Python: Executable pseudo [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graphic Rezidew</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-230</link>
		<dc:creator>Graphic Rezidew</dc:creator>
		<pubDate>Sun, 29 Jul 2007 16:17:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-230</guid>
		<description>Interesting, I&#039;d like to see how those come out with Jython/JPython. I&#039;ve often wondered whether the interpreter overhead in Jython would be worth some of the potential advantages of being able to program in a Java environment without having to USE java.</description>
		<content:encoded><![CDATA[<p>Interesting, I&#8217;d like to see how those come out with Jython/JPython. I&#8217;ve often wondered whether the interpreter overhead in Jython would be worth some of the potential advantages of being able to program in a Java environment without having to USE java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Cornell</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-218</link>
		<dc:creator>James Cornell</dc:creator>
		<pubDate>Sat, 28 Jul 2007 10:52:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-218</guid>
		<description>It&#039;s also worth noting the flexibility of Java for use with UI&#039;s and web-based applications out of the box.  With 3500 classes, Java has two main UI toolkits, Swing and AWT.  It supports many things that Python can&#039;t do out of the box, and that Python doesn&#039;t even have as a module.  It&#039;s worth noting that Python scripts over 10,000 lines initialize quite slow just like Java, and that bytecode optimizations, although supported with Python, are not the norm and are not common.

Coding for wxwidgets, using a QT or GTK bridge, or using TCL/TK is hardly an optimal solution when writing complex graphical applications, and Java wins in this area, despite there comically being many problems with the look and feel of Java applications.  This has changed since 5.0, with drag-and-drop and other common native GUI aspects being available with Java now.

Writing web-only applications is better with Python, mainly because of it being on more hosting providers, although Ruby is far more common than either Java or Python on shared hosts.  Write once, run everywhere still mainly holds true for Java, minus some GUI kludge, but at least the consistancy of the kludge is the same across the platforms.  I prefer Java to Python because it&#039;s also better documented, has more books to learn from, and is also GPL just like Python, so more people can have it out of the box if they chose to be liberal and not support anything not-FOSS.

As for writing web applications, Python wins, but it&#039;s worth noting a good programmer will just use XML and SOAP, and integrate it using JSP or PHP on the server-side, using the same stuff on the client.  Unfortunately the install base again for Java is even smaller than Python on servers, so resorting to ugly PHP XMLRPC stuff is a necessity if you can&#039;t afford your own dedicated server.</description>
		<content:encoded><![CDATA[<p>It&#8217;s also worth noting the flexibility of Java for use with UI&#8217;s and web-based applications out of the box.  With 3500 classes, Java has two main UI toolkits, Swing and AWT.  It supports many things that Python can&#8217;t do out of the box, and that Python doesn&#8217;t even have as a module.  It&#8217;s worth noting that Python scripts over 10,000 lines initialize quite slow just like Java, and that bytecode optimizations, although supported with Python, are not the norm and are not common.</p>
<p>Coding for wxwidgets, using a QT or GTK bridge, or using TCL/TK is hardly an optimal solution when writing complex graphical applications, and Java wins in this area, despite there comically being many problems with the look and feel of Java applications.  This has changed since 5.0, with drag-and-drop and other common native GUI aspects being available with Java now.</p>
<p>Writing web-only applications is better with Python, mainly because of it being on more hosting providers, although Ruby is far more common than either Java or Python on shared hosts.  Write once, run everywhere still mainly holds true for Java, minus some GUI kludge, but at least the consistancy of the kludge is the same across the platforms.  I prefer Java to Python because it&#8217;s also better documented, has more books to learn from, and is also GPL just like Python, so more people can have it out of the box if they chose to be liberal and not support anything not-FOSS.</p>
<p>As for writing web applications, Python wins, but it&#8217;s worth noting a good programmer will just use XML and SOAP, and integrate it using JSP or PHP on the server-side, using the same stuff on the client.  Unfortunately the install base again for Java is even smaller than Python on servers, so resorting to ugly PHP XMLRPC stuff is a necessity if you can&#8217;t afford your own dedicated server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Gouy</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-128</link>
		<dc:creator>Isaac Gouy</dc:creator>
		<pubDate>Fri, 13 Jul 2007 00:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-128</guid>
		<description>Psyco 1.4X slower than Java
Psyco 20X slower than Java
Psyco 30X slower than Java

why haven&#039;t you written these

Java faster than ...
Java faster than ...
Java faster than ...</description>
		<content:encoded><![CDATA[<p>Psyco 1.4X slower than Java<br />
Psyco 20X slower than Java<br />
Psyco 30X slower than Java</p>
<p>why haven&#8217;t you written these</p>
<p>Java faster than &#8230;<br />
Java faster than &#8230;<br />
Java faster than &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juergen</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-120</link>
		<dc:creator>Juergen</dc:creator>
		<pubDate>Thu, 12 Jul 2007 18:30:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-120</guid>
		<description>Good point! The IO performance of Java certainly diminishes if I use the non-buffered option you have pointed out. When I compare that to the non-buffered (!) Java version (the initial test), then Java is around 10x faster. This now surprises me a little bit.

On my machine, Java takes its 0.49 seconds, and Python now takes around 5 seconds. Replacing the call to write() with a dummy function call, I can see that only 0.85 of those 5 seconds are spend in loop, object creation and function call overhead.</description>
		<content:encoded><![CDATA[<p>Good point! The IO performance of Java certainly diminishes if I use the non-buffered option you have pointed out. When I compare that to the non-buffered (!) Java version (the initial test), then Java is around 10x faster. This now surprises me a little bit.</p>
<p>On my machine, Java takes its 0.49 seconds, and Python now takes around 5 seconds. Replacing the call to write() with a dummy function call, I can see that only 0.85 of those 5 seconds are spend in loop, object creation and function call overhead.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Gouy</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-110</link>
		<dc:creator>Isaac Gouy</dc:creator>
		<pubDate>Thu, 12 Jul 2007 04:32:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-110</guid>
		<description>1) &quot;Update - if I think about buffered IO under Java for performance improvement then I should also consider that for the Python cases, which I am not doing here&quot;

On the contrary I expect /you are/ using buffered io for Python - check by opening &#039;scratch&#039; with 0 buffer:

f=open(&#039;scratch&#039;,&#039;wb&#039;,0)
for i in xrange(1000000):
    f.write(str(i))
f.close()

and time the program. How much slower is it?</description>
		<content:encoded><![CDATA[<p>1) &#8220;Update &#8211; if I think about buffered IO under Java for performance improvement then I should also consider that for the Python cases, which I am not doing here&#8221;</p>
<p>On the contrary I expect /you are/ using buffered io for Python &#8211; check by opening &#8217;scratch&#8217; with 0 buffer:</p>
<p>f=open(&#8217;scratch&#8217;,'wb&#8217;,0)<br />
for i in xrange(1000000):<br />
    f.write(str(i))<br />
f.close()</p>
<p>and time the program. How much slower is it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Gouy</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-97</link>
		<dc:creator>Isaac Gouy</dc:creator>
		<pubDate>Wed, 11 Jul 2007 00:13:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-97</guid>
		<description>&quot;Large differences, however, are likely to be valid.&quot;

Kind of depends on whether the self reported times exaggerated by a little or a lot :-)

Remember to follow the reports conclusion and take the results with a grain of salt.</description>
		<content:encoded><![CDATA[<p>&#8220;Large differences, however, are likely to be valid.&#8221;</p>
<p>Kind of depends on whether the self reported times exaggerated by a little or a lot <img src='http://www.snaplogic.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Remember to follow the reports conclusion and take the results with a grain of salt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Juergen</title>
		<link>http://www.snaplogic.com/blog/?p=55&#038;cpage=1#comment-96</link>
		<dc:creator>Juergen</dc:creator>
		<pubDate>Tue, 10 Jul 2007 23:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.snaplogic.org/?p=55#comment-96</guid>
		<description>Isaac: I read that validity section. In that very same section,  however, the authors of the paper give the reasons why by and large they do consider the work-time estimates even for the &#039;script group&#039; as relevant.

There were a few other differences in the test setup for the two groups, but in the summary (also in the validity section) the authors reaffirm that while small differences may be accounted for this way, the overall conclusion should still be seen as valid.</description>
		<content:encoded><![CDATA[<p>Isaac: I read that validity section. In that very same section,  however, the authors of the paper give the reasons why by and large they do consider the work-time estimates even for the &#8217;script group&#8217; as relevant.</p>
<p>There were a few other differences in the test setup for the two groups, but in the summary (also in the validity section) the authors reaffirm that while small differences may be accounted for this way, the overall conclusion should still be seen as valid.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
