<?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: An Interview With Adam Olsen, Author of Safe Threading &#124; Completely Different</title>
	<atom:link href="http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/feed/" rel="self" type="application/rss+xml" />
	<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/</link>
	<description>python, programming and other things</description>
	<lastBuildDate>Thu, 11 Feb 2010 00:42:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Adam Olsen</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-139155</link>
		<dc:creator>Adam Olsen</dc:creator>
		<pubDate>Wed, 04 Feb 2009 06:55:58 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-139155</guid>
		<description>The locks aren&#039;t the issue — contention of atomic refcounting is.&lt;br&gt;&lt;br&gt;Changing  the core to use a tracing GC (note: a generational GC is just one variant), not built on refcounting, is possible.  The issue is that, for an exact GC, it&#039;d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn&#039;t enough impetus to do it.&lt;br&gt;&lt;br&gt;A conservative GC, such as the Boehm-Demers-Weiser GC, would require less changes.  However, retaining the Py_INCREF/Py_DECREF API for third-party extensions would be harder, and there&#039;s a risk of compatibility issues (pointers stored in untracked memory, etc).</description>
		<content:encoded><![CDATA[<p>The locks aren&#39;t the issue — contention of atomic refcounting is.</p>
<p>Changing  the core to use a tracing GC (note: a generational GC is just one variant), not built on refcounting, is possible.  The issue is that, for an exact GC, it&#39;d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn&#39;t enough impetus to do it.</p>
<p>A conservative GC, such as the Boehm-Demers-Weiser GC, would require less changes.  However, retaining the Py_INCREF/Py_DECREF API for third-party extensions would be harder, and there&#39;s a risk of compatibility issues (pointers stored in untracked memory, etc).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-139154</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Wed, 04 Feb 2009 04:22:08 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-139154</guid>
		<description>Isn&#039;t one possible solution(and I know it&#039;s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don&#039;t need all those locks?  If yes could this hypothetically be handled as a diff outside of svn just as safe-threading was?</description>
		<content:encoded><![CDATA[<p>Isn&#39;t one possible solution(and I know it&#39;s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don&#39;t need all those locks?  If yes could this hypothetically be handled as a diff outside of svn just as safe-threading was?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Olsen</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-64048</link>
		<dc:creator>Adam Olsen</dc:creator>
		<pubDate>Wed, 04 Feb 2009 01:55:58 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-64048</guid>
		<description>The locks aren&#039;t the issue â€” contention of atomic refcounting is.&lt;br&gt;&lt;br&gt;Changing  the core to use a tracing GC (note: a generational GC is just one variant), not built on refcounting, is possible.  The issue is that, for an exact GC, it&#039;d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn&#039;t enough impetus to do it.&lt;br&gt;&lt;br&gt;A conservative GC, such as the Boehm-Demers-Weiser GC, would require less changes.  However, retaining the Py_INCREF/Py_DECREF API for third-party extensions would be harder, and there&#039;s a risk of compatibility issues (pointers stored in untracked memory, etc).</description>
		<content:encoded><![CDATA[<p>The locks aren&#39;t the issue â€” contention of atomic refcounting is.</p>
<p>Changing  the core to use a tracing GC (note: a generational GC is just one variant), not built on refcounting, is possible.  The issue is that, for an exact GC, it&#39;d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn&#39;t enough impetus to do it.</p>
<p>A conservative GC, such as the Boehm-Demers-Weiser GC, would require less changes.  However, retaining the Py_INCREF/Py_DECREF API for third-party extensions would be harder, and there&#39;s a risk of compatibility issues (pointers stored in untracked memory, etc).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-64014</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Tue, 03 Feb 2009 23:22:08 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-64014</guid>
		<description>Isn&#039;t one possible solution(and I know it&#039;s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don&#039;t need all those locks?  If yes could this hypothetically be handled as a diff outside of svn just as safe-threading was?</description>
		<content:encoded><![CDATA[<p>Isn&#39;t one possible solution(and I know it&#39;s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don&#39;t need all those locks?  If yes could this hypothetically be handled as a diff outside of svn just as safe-threading was?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Olsen</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-63981</link>
		<dc:creator>Adam Olsen</dc:creator>
		<pubDate>Tue, 03 Feb 2009 08:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-63981</guid>
		<description>Unfortunately, my GC changes didn&#039;t pan out.  They looked promising on my old dual core laptop, but very disappointing on my newer quad core desktop.&lt;br&gt;&lt;br&gt;I almost started separating the semantics of branching and monitors from the GC and GIL removal, but it&#039;s not nearly as interesting.  Most people want performance, not safety and ease of use.</description>
		<content:encoded><![CDATA[<p>Unfortunately, my GC changes didn&#39;t pan out.  They looked promising on my old dual core laptop, but very disappointing on my newer quad core desktop.</p>
<p>I almost started separating the semantics of branching and monitors from the GC and GIL removal, but it&#39;s not nearly as interesting.  Most people want performance, not safety and ease of use.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jospeh Lisee</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-63979</link>
		<dc:creator>Jospeh Lisee</dc:creator>
		<pubDate>Tue, 03 Feb 2009 04:54:46 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-63979</guid>
		<description>This is sad, I was really hoping for your work to make it into core.  Maybe you should of (still should?) try for a branch in official python SVN so your work could of (still could?) been integrated better and worked on by more Python devs. &lt;br&gt;&lt;br&gt;Yes, I have a multi-threaded application and pythons GIL cop-out requires me to use too much C++ code.  I also don&#039;t think things like multiprocessing are the answer.</description>
		<content:encoded><![CDATA[<p>This is sad, I was really hoping for your work to make it into core.  Maybe you should of (still should?) try for a branch in official python SVN so your work could of (still could?) been integrated better and worked on by more Python devs. </p>
<p>Yes, I have a multi-threaded application and pythons GIL cop-out requires me to use too much C++ code.  I also don&#39;t think things like multiprocessing are the answer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Olsen</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-63966</link>
		<dc:creator>Adam Olsen</dc:creator>
		<pubDate>Mon, 02 Feb 2009 23:56:31 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-63966</guid>
		<description>Wait for PyPy or wait for me to do an alternate implementation.  Hard to say which&#039;ll be first. ;)</description>
		<content:encoded><![CDATA[<p>Wait for PyPy or wait for me to do an alternate implementation.  Hard to say which&#39;ll be first. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stan</title>
		<link>http://jessenoller.com/2009/02/02/an-interview-with-adam-olsen-author-of-safe-threading-completely-different/comment-page-1/#comment-63959</link>
		<dc:creator>Stan</dc:creator>
		<pubDate>Mon, 02 Feb 2009 21:17:18 +0000</pubDate>
		<guid isPermaLink="false">http://jessenoller.com/?p=451#comment-63959</guid>
		<description>A very interesting read, but it sounds like python-safethread is already dead, according to the front page:&lt;br&gt;&lt;br&gt;&quot;Note: As an implementation, python-safethread is dead. It is not worth the effort to continue rewriting CPython to have a true tracing GC.&lt;br&gt;&lt;br&gt;However, the semantics presented are still viable and I intend to reuse them in future projects.&quot;&lt;br&gt;&lt;br&gt;Does this mean we will have to wait for PyPy in the far future to generate a &quot;CPython&quot; (of course, not *the* CPython) implementation without a GIL?</description>
		<content:encoded><![CDATA[<p>A very interesting read, but it sounds like python-safethread is already dead, according to the front page:</p>
<p>&#8220;Note: As an implementation, python-safethread is dead. It is not worth the effort to continue rewriting CPython to have a true tracing GC.</p>
<p>However, the semantics presented are still viable and I intend to reuse them in future projects.&#8221;</p>
<p>Does this mean we will have to wait for PyPy in the far future to generate a &#8220;CPython&#8221; (of course, not *the* CPython) implementation without a GIL?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
