<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Exploring Python Bytecode</title>
	<atom:link href="http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/feed/" rel="self" type="application/rss+xml" />
	<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/</link>
	<description>The Adventures Of A Unix Programmer</description>
	<lastBuildDate>Thu, 10 Dec 2009 11:53:56 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Python Links : Well, at least we got the duck.</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5659</link>
		<dc:creator>Python Links : Well, at least we got the duck.</dc:creator>
		<pubDate>Tue, 22 Sep 2009 11:21:21 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5659</guid>
		<description>[...] ORM Mapper &#8211; http://www.sqlalchemy.org/ Python ByteCode &#8211; http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/ Performance &#8211; [...]</description>
		<content:encoded><![CDATA[<p>[...] ORM Mapper &#8211; <a href="http://www.sqlalchemy.org/" rel="nofollow">http://www.sqlalchemy.org/</a> Python ByteCode &#8211; <a href="http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/" rel="nofollow">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/</a> Performance &#8211; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ananth</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5630</link>
		<dc:creator>Ananth</dc:creator>
		<pubDate>Sat, 13 Jun 2009 15:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5630</guid>
		<description>Alex Martelli&#039;s Talk: http://www.youtube.com/watch?v=23s9Wc3aWGY

Covers some bytecode towards the end. Not a lot of information - but still useful.

Plus Py3K has a new peephole.c with mildly interesting optimizations. But the best progress here has been through unladen swallow - http://code.google.com/p/unladen-swallow/. They have a LLVM codegen working.

I might do a more up2date &quot;state of the python runtime&quot; post soon.</description>
		<content:encoded><![CDATA[<p>Alex Martelli&#8217;s Talk: <a href="http://www.youtube.com/watch?v=23s9Wc3aWGY" rel="nofollow">http://www.youtube.com/watch?v=23s9Wc3aWGY</a></p>
<p>Covers some bytecode towards the end. Not a lot of information &#8211; but still useful.</p>
<p>Plus Py3K has a new peephole.c with mildly interesting optimizations. But the best progress here has been through unladen swallow &#8211; <a href="http://code.google.com/p/unladen-swallow/" rel="nofollow">http://code.google.com/p/unladen-swallow/</a>. They have a LLVM codegen working.</p>
<p>I might do a more up2date &#8220;state of the python runtime&#8221; post soon.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jason fager - Language-level Support for Software Configuration</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5527</link>
		<dc:creator>jason fager - Language-level Support for Software Configuration</dc:creator>
		<pubDate>Mon, 30 Mar 2009 06:50:36 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5527</guid>
		<description>[...] idea, it&#8217;s just a nudge in that direction, to see what&#8217;s possible. Thanks are due to Thermal Noise for getting me pointed in the &#8220;right&#8221; direction for the bytecode stuff. [...]</description>
		<content:encoded><![CDATA[<p>[...] idea, it&#8217;s just a nudge in that direction, to see what&#8217;s possible. Thanks are due to Thermal Noise for getting me pointed in the &#8220;right&#8221; direction for the bytecode stuff. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zeo</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5302</link>
		<dc:creator>zeo</dc:creator>
		<pubDate>Thu, 12 Jun 2008 09:33:54 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5302</guid>
		<description>god damned !!!!
is there a website where i can figure out how to use byteplay ?
there seems to be no real documentation about byteplay,
not any instructions on how to use it on the web!!

i want to &quot;disassemble&quot; a .pyc file, modify and &quot;reassemble&quot; it
could anybody explain this step by step for a non python supergeek
is byteplay the best way to to this anyway?

(sorry for swaring!) zeo</description>
		<content:encoded><![CDATA[<p>god damned !!!!<br />
is there a website where i can figure out how to use byteplay ?<br />
there seems to be no real documentation about byteplay,<br />
not any instructions on how to use it on the web!!</p>
<p>i want to &#8220;disassemble&#8221; a .pyc file, modify and &#8220;reassemble&#8221; it<br />
could anybody explain this step by step for a non python supergeek<br />
is byteplay the best way to to this anyway?</p>
<p>(sorry for swaring!) zeo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeffrey</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5261</link>
		<dc:creator>Jeffrey</dc:creator>
		<pubDate>Tue, 06 May 2008 10:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5261</guid>
		<description>I think it was a great idea to peep into the pyc file. 
Good work !

jeff</description>
		<content:encoded><![CDATA[<p>I think it was a great idea to peep into the pyc file.<br />
Good work !</p>
<p>jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5140</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Sat, 12 Jan 2008 01:42:43 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5140</guid>
		<description>I&#039;m sure you know this, but the optimizations you&#039;re talking about are not peephole optimizations.  In typical compilers, these optimizations are handled on the DAGs, i.e. before code generation or peephole optimization.  Peephole optimization typically refers to the last stage in optimization that just removes instructions that make little sense.</description>
		<content:encoded><![CDATA[<p>I&#8217;m sure you know this, but the optimizations you&#8217;re talking about are not peephole optimizations.  In typical compilers, these optimizations are handled on the DAGs, i.e. before code generation or peephole optimization.  Peephole optimization typically refers to the last stage in optimization that just removes instructions that make little sense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pages tagged "python"</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5133</link>
		<dc:creator>Pages tagged "python"</dc:creator>
		<pubDate>Tue, 08 Jan 2008 18:36:14 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5133</guid>
		<description>[...] online community. The best part is ... it&#039;s all 100% free! Check them out here: Join Hey Nielsen!  Exploring Python Bytecode « Thermal Noise&#160;saved by 1 others  &#160;&#160;&#160;&#160;Gaararox125 bookmarked on 01/08/08 &#124; [...]</description>
		<content:encoded><![CDATA[<p>[...] online community. The best part is &#8230; it&#8217;s all 100% free! Check them out here: Join Hey Nielsen!  Exploring Python Bytecode « Thermal Noise&nbsp;saved by 1 others  &nbsp;&nbsp;&nbsp;&nbsp;Gaararox125 bookmarked on 01/08/08 | [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ananth</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5109</link>
		<dc:creator>Ananth</dc:creator>
		<pubDate>Wed, 02 Jan 2008 07:36:24 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5109</guid>
		<description>Hey Guys,

I did know about the dis module. See Line 20 in the source :-)
However I don&#039;t like two things about it.

1. It just prints the instruction sequence on stdout. I would rather have it as a list of tuples that I can process programatically - detect instruction sequences for example.

2. It prints out blocks of instructions corresponding to source lines. I would rather prefer to group instruction sequences corresponding to Basic Blocks. I have an augmented pretty_print version that does this.

Anyway these are just some random notes from my study. The disassemble function was for my own understanding - not a replacement for the dis() module.</description>
		<content:encoded><![CDATA[<p>Hey Guys,</p>
<p>I did know about the dis module. See Line 20 in the source <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
However I don&#8217;t like two things about it.</p>
<p>1. It just prints the instruction sequence on stdout. I would rather have it as a list of tuples that I can process programatically &#8211; detect instruction sequences for example.</p>
<p>2. It prints out blocks of instructions corresponding to source lines. I would rather prefer to group instruction sequences corresponding to Basic Blocks. I have an augmented pretty_print version that does this.</p>
<p>Anyway these are just some random notes from my study. The disassemble function was for my own understanding &#8211; not a replacement for the dis() module.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Björn Schließmann</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5108</link>
		<dc:creator>Björn Schließmann</dc:creator>
		<pubDate>Wed, 02 Jan 2008 00:37:39 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5108</guid>
		<description>To complement Phillip&#039;s posting: Instead of using this huge decompile function, try:

def foo_simple():
    [...]

import dis
dis.dis(foo_simple)</description>
		<content:encoded><![CDATA[<p>To complement Phillip&#8217;s posting: Instead of using this huge decompile function, try:</p>
<p>def foo_simple():<br />
    [...]</p>
<p>import dis<br />
dis.dis(foo_simple)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip J. Eby</title>
		<link>http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5103</link>
		<dc:creator>Phillip J. Eby</dc:creator>
		<pubDate>Mon, 31 Dec 2007 22:47:53 +0000</pubDate>
		<guid isPermaLink="false">http://thermalnoise.wordpress.com/2007/12/30/exploring-python-bytecode/#comment-5103</guid>
		<description>The stdlib includes a disassembler: http://python.org/doc/2.5/lib/module-dis.html

And PyPI lists my assembler: http://pypi.python.org/pypi/BytecodeAssembler</description>
		<content:encoded><![CDATA[<p>The stdlib includes a disassembler: <a href="http://python.org/doc/2.5/lib/module-dis.html" rel="nofollow">http://python.org/doc/2.5/lib/module-dis.html</a></p>
<p>And PyPI lists my assembler: <a href="http://pypi.python.org/pypi/BytecodeAssembler" rel="nofollow">http://pypi.python.org/pypi/BytecodeAssembler</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
