<?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: Extending Python with C: A case study</title>
	<atom:link href="http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/feed/" rel="self" type="application/rss+xml" />
	<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/</link>
	<description>Random scribbling about programming, translation, and Japan</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:05:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Ryan Ginstrom</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-115</link>
		<dc:creator>Ryan Ginstrom</dc:creator>
		<pubDate>Mon, 17 Dec 2007 11:03:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-115</guid>
		<description>@Chris:

Thanks for the comment. Yes, as I noted in the article, there are a few more things I can do with the code to get a 10% to 30% speedup.

Actually though, I don&#039;t know if you really have a function-call overhead for something like min. I don&#039;t have a lot of experience with gcc, but the MS compiler would almost certainly inline that for me. I guess you&#039;d have to look at the generated assembly language to know for sure.</description>
		<content:encoded><![CDATA[<p>@Chris:</p>
<p>Thanks for the comment. Yes, as I noted in the article, there are a few more things I can do with the code to get a 10% to 30% speedup.</p>
<p>Actually though, I don&#8217;t know if you really have a function-call overhead for something like min. I don&#8217;t have a lot of experience with gcc, but the MS compiler would almost certainly inline that for me. I guess you&#8217;d have to look at the generated assembly language to know for sure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-114</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 17 Dec 2007 10:58:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-114</guid>
		<description>Your blog software might have eaten my comment,
you can find MIN2, MIN3 at http://untergrund.bewaff.net/~chris/min.h</description>
		<content:encoded><![CDATA[<p>Your blog software might have eaten my comment,<br />
you can find MIN2, MIN3 at <a href="http://untergrund.bewaff.net/~chris/min.h">http://untergrund.bewaff.net/~chris/min.h</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-113</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 17 Dec 2007 10:57:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-113</guid>
		<description>I just wanted to mention that implementing min as a function is not c-esque. Remember that every time you call the function, a stack frame needs to be build up. Therefore, people usually define it as a preprocessor macro:

#define MIN2(a, b) ((a)</description>
		<content:encoded><![CDATA[<p>I just wanted to mention that implementing min as a function is not c-esque. Remember that every time you call the function, a stack frame needs to be build up. Therefore, people usually define it as a preprocessor macro:</p>
<p>#define MIN2(a, b) ((a)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ben</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-112</link>
		<dc:creator>ben</dc:creator>
		<pubDate>Fri, 14 Dec 2007 13:46:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-112</guid>
		<description>The benchmarks at the shootout site above don&#039;t mean anything. For example Perl is an interpreted language written in C, and yet Perl is supposed to be faster than C on some of those benchmarks. Since the Perl is a C program and the benchmark is a C program, all it means is that the C code used in the benchmark isn&#039;t as good as the C code in Perl. It&#039;s testing the programmer&#039;s skill, not the language itself. The only thing that we can conclude is that Larry Wall and co are better C programmers than the person who wrote the benchmark.

Computer &quot;science&quot; is riddled with this kind of pseudo science.</description>
		<content:encoded><![CDATA[<p>The benchmarks at the shootout site above don&#8217;t mean anything. For example Perl is an interpreted language written in C, and yet Perl is supposed to be faster than C on some of those benchmarks. Since the Perl is a C program and the benchmark is a C program, all it means is that the C code used in the benchmark isn&#8217;t as good as the C code in Perl. It&#8217;s testing the programmer&#8217;s skill, not the language itself. The only thing that we can conclude is that Larry Wall and co are better C programmers than the person who wrote the benchmark.</p>
<p>Computer &#8220;science&#8221; is riddled with this kind of pseudo science.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Ginstrom</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-110</link>
		<dc:creator>Ryan Ginstrom</dc:creator>
		<pubDate>Thu, 06 Dec 2007 02:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-110</guid>
		<description>@alex

Yes, I don&#039;t think anyone will argue that languages like C are much faster than VHLL like Python at these micro-benchmarks. I want to use Python wherever possible, and dip down to a lower-level language to break performance bottlenecks. My goal is to write something that&#039;s 99% Python, yet still 99% as fast as a pure C program :)

Thanks for the idea about browsing the Python source to look for optimization ideas. The Python developers really are wizards about writing tight code. I like their motto: &quot;We read Knuth so you don&#039;t have to.&quot;</description>
		<content:encoded><![CDATA[<p>@alex</p>
<p>Yes, I don&#8217;t think anyone will argue that languages like C are much faster than VHLL like Python at these micro-benchmarks. I want to use Python wherever possible, and dip down to a lower-level language to break performance bottlenecks. My goal is to write something that&#8217;s 99% Python, yet still 99% as fast as a pure C program <img src='http://ginstrom.com/scribbles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thanks for the idea about browsing the Python source to look for optimization ideas. The Python developers really are wizards about writing tight code. I like their motto: &#8220;We read Knuth so you don&#8217;t have to.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alex</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-109</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Wed, 05 Dec 2007 02:08:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-109</guid>
		<description>You&#039;ve probably already seen it,
but the Programming Lang Shootout has some interesting
any lang vs. any lang benchmarks...
http://shootout.alioth.debian.org/

just browsing the code can be interesting too, to see
how they optimize stuff in python etc.</description>
		<content:encoded><![CDATA[<p>You&#8217;ve probably already seen it,<br />
but the Programming Lang Shootout has some interesting<br />
any lang vs. any lang benchmarks&#8230;<br />
<a href="http://shootout.alioth.debian.org/">http://shootout.alioth.debian.org/</a></p>
<p>just browsing the code can be interesting too, to see<br />
how they optimize stuff in python etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fsdaily.com</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-111</link>
		<dc:creator>fsdaily.com</dc:creator>
		<pubDate>Mon, 03 Dec 2007 18:22:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-111</guid>
		<description>&lt;strong&gt;Story added...&lt;/strong&gt;

Your story has been submitted to fsdaily.com! Come and promote your article by voting for it here: http://www.fsdaily.com/HighEnd/Extending_Python_with_C_A_case_study...</description>
		<content:encoded><![CDATA[<p><strong>Story added&#8230;</strong></p>
<p>Your story has been submitted to fsdaily.com! Come and promote your article by voting for it here: <a href="http://www.fsdaily.com/HighEnd/Extending_Python_with_C_A_case_study..">http://www.fsdaily.com/HighEnd/Extending_Python_with_C_A_case_study..</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Ginstrom</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-108</link>
		<dc:creator>Ryan Ginstrom</dc:creator>
		<pubDate>Mon, 03 Dec 2007 01:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-108</guid>
		<description>Thanks a lot for the link! I especially appreciate the very liberal license.

I haven&#039;t seen any implementations of the substring-match specialization, which is why I wrote this one. Actually I thought I had invented it myself, so I was a little disappointed to see it already described on the wikipedia page for Levenshtein distance :)</description>
		<content:encoded><![CDATA[<p>Thanks a lot for the link! I especially appreciate the very liberal license.</p>
<p>I haven&#8217;t seen any implementations of the substring-match specialization, which is why I wrote this one. Actually I thought I had invented it myself, so I was a little disappointed to see it already described on the wikipedia page for Levenshtein distance <img src='http://ginstrom.com/scribbles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jose</title>
		<link>http://ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/comment-page-1/#comment-107</link>
		<dc:creator>jose</dc:creator>
		<pubDate>Mon, 03 Dec 2007 00:53:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.ginstrom.com/scribbles/2007/12/02/extending-python-with-c-a-case-study/#comment-107</guid>
		<description>nice work. libdistance implements these fuzzy string matching algorithms in C and has python bindings:

http://monkey.org/~jose/software/libdistance/

levenshtein, hamming, jaccard, and a few others.

i hope you find it useful!</description>
		<content:encoded><![CDATA[<p>nice work. libdistance implements these fuzzy string matching algorithms in C and has python bindings:</p>
<p><a href="http://monkey.org/~jose/software/libdistance/">http://monkey.org/~jose/software/libdistance/</a></p>
<p>levenshtein, hamming, jaccard, and a few others.</p>
<p>i hope you find it useful!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

