<?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: Percona is looking for a Perl and Python expert</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/</link>
	<description>Everything about MySQL Performance</description>
	<lastBuildDate>Sat, 21 Nov 2009 05:23:57 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Koa McCullough</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-405772</link>
		<dc:creator>Koa McCullough</dc:creator>
		<pubDate>Tue, 09 Dec 2008 19:14:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-405772</guid>
		<description>*Koa braces for impact*</description>
		<content:encoded><![CDATA[<p>*Koa braces for impact*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baron Schwartz</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-405174</link>
		<dc:creator>Baron Schwartz</dc:creator>
		<pubDate>Tue, 09 Dec 2008 04:37:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-405174</guid>
		<description>Koa, thanks.  And now prepare for the flame-war about Perl ;-)</description>
		<content:encoded><![CDATA[<p>Koa, thanks.  And now prepare for the flame-war about Perl <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Koa McCullough</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-404992</link>
		<dc:creator>Koa McCullough</dc:creator>
		<pubDate>Mon, 08 Dec 2008 22:29:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-404992</guid>
		<description>Baron,

You may already be aware of this but, just a heads Python also its issues w/ threading.  These are mainly due the the fact that there is no native mysql interface and the python interpreter is not truly threaded.  Once it drops into a c function python loses all ability to kill a thread.  This is partially addressed in python 2.6 with multiprocess which is a module with almost the same api as threading but uses subprocess to run the threads.  To me this seems like a very hacked approach to fix the problem since subprocess forks a new process for each thread.  This is fine for a small number of threads but, if you are trying to load test or run nagios checks for hundreds of mysql instances you could easily kernel panic the box with that many forks.  Until python has a native mysql interface Jython may be a better option.  

Just a few random thoughts on the subject.  I hope it saves you guys some of the pain we have experienced.  

That being said there are a number of other good reasons to switch.  The biggest is that it is far harder to write unmaintainable code in python.  Before all the perl guy get mad at me for this I am not saying that you can&#039;t write maintainable perl, you can, but, you don&#039;t have to.  For our environment where a large number of people, many of them being sys admins rather than coders, contribute to the code base this is a very good thing.

--Koa</description>
		<content:encoded><![CDATA[<p>Baron,</p>
<p>You may already be aware of this but, just a heads Python also its issues w/ threading.  These are mainly due the the fact that there is no native mysql interface and the python interpreter is not truly threaded.  Once it drops into a c function python loses all ability to kill a thread.  This is partially addressed in python 2.6 with multiprocess which is a module with almost the same api as threading but uses subprocess to run the threads.  To me this seems like a very hacked approach to fix the problem since subprocess forks a new process for each thread.  This is fine for a small number of threads but, if you are trying to load test or run nagios checks for hundreds of mysql instances you could easily kernel panic the box with that many forks.  Until python has a native mysql interface Jython may be a better option.  </p>
<p>Just a few random thoughts on the subject.  I hope it saves you guys some of the pain we have experienced.  </p>
<p>That being said there are a number of other good reasons to switch.  The biggest is that it is far harder to write unmaintainable code in python.  Before all the perl guy get mad at me for this I am not saying that you can&#8217;t write maintainable perl, you can, but, you don&#8217;t have to.  For our environment where a large number of people, many of them being sys admins rather than coders, contribute to the code base this is a very good thing.</p>
<p>&#8211;Koa</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baron Schwartz</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-318647</link>
		<dc:creator>Baron Schwartz</dc:creator>
		<pubDate>Fri, 27 Jun 2008 13:19:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-318647</guid>
		<description>Perl&#039;s threading has been problematic for some tools.  A lot of the more useful stuff I&#039;ve done has used threading or multi-processing.  I am sure a lot of people will disagree with me right away, but I think threading in Perl is pretty bad.  Just the fact that it&#039;s been ripped out and redone a couple times is bad enough -- it means there&#039;s no backwards compatibility.</description>
		<content:encoded><![CDATA[<p>Perl&#8217;s threading has been problematic for some tools.  A lot of the more useful stuff I&#8217;ve done has used threading or multi-processing.  I am sure a lot of people will disagree with me right away, but I think threading in Perl is pretty bad.  Just the fact that it&#8217;s been ripped out and redone a couple times is bad enough &#8212; it means there&#8217;s no backwards compatibility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zer4tul</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-318544</link>
		<dc:creator>Zer4tul</dc:creator>
		<pubDate>Fri, 27 Jun 2008 04:31:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-318544</guid>
		<description>As I know, both of Maatkit and Mmm are writen only in perl. why need a python expert? i think there are a lot of people want to know about this.</description>
		<content:encoded><![CDATA[<p>As I know, both of Maatkit and Mmm are writen only in perl. why need a python expert? i think there are a lot of people want to know about this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Artem Russakovskii</title>
		<link>http://www.mysqlperformanceblog.com/2008/06/24/percona-is-looking-for-a-perl-and-python-expert/comment-page-1/#comment-317496</link>
		<dc:creator>Artem Russakovskii</dc:creator>
		<pubDate>Wed, 25 Jun 2008 07:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=418#comment-317496</guid>
		<description>Sent you a message.</description>
		<content:encoded><![CDATA[<p>Sent you a message.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
