<?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>Mon, 02 Jan 2012 09:21:00 +0000</lastBuildDate>
	<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’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’d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn’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’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’t one possible solution(and I know it’s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don’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’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’d be a rather massive diff (as safethread is).  The resulting code would also be rather ugly.  Between the two there isn’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’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’t one possible solution(and I know it’s been discussed on python-dev) replacing the ref counting with a generational GC, since this means you don’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’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’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’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’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>“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.”</p>
<p>Does this mean we will have to wait for PyPy in the far future to generate a “CPython” (of course, not *the* CPython) implementation without a GIL?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 691/709 objects using disk: basic

Served from: jessenoller.com @ 2012-02-08 03:13:56 -->
