A better breakdown...<br clear="all"><div class="gmail_quote"><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div><span style="font-family:&#39;courier new&#39;, monospace">fasta_file = sys.argv[1]  # should be *.fa</span></div>


<div><font face="&#39;courier new&#39;, monospace">print &#39;loading dna from&#39;, fasta_file</font></div><div><font face="&#39;courier new&#39;, monospace">chroms = {}</font></div><div><font face="&#39;courier new&#39;, monospace">dna = None</font></div>


<div><font face="&#39;courier new&#39;, monospace">for l in open(fasta_file):</font></div><div><font face="&#39;courier new&#39;, monospace">    if l.startswith(&#39;&gt;&#39;):  # new chromosome</font></div><div><font face="&#39;courier new&#39;, monospace">        if dna is not None:</font></div>


<div><font face="&#39;courier new&#39;, monospace">            chroms[chrom] = dna</font></div><div><font face="&#39;courier new&#39;, monospace">        chrom = l.strip().replace(&#39;&gt;&#39;, &#39;&#39;)</font></div>

<div>
<font face="&#39;courier new&#39;, monospace">        dna = &#39;&#39;</font></div><div><font face="&#39;courier new&#39;, monospace">    else:</font></div><div><font face="&#39;courier new&#39;, monospace">        dna += l.rstrip()</font></div>


<div><font face="&#39;courier new&#39;, monospace">if dna is not None:</font></div><div><font face="&#39;courier new&#39;, monospace">    chroms[chrom] = dna</font></div></div></blockquote><div><br></div><div>CPython takes about 1.5 seconds to get to this point in the code, while pypy hasn&#39;t passed this point in 30 minutes.</div>

<div> </div></div>