擅长:python、mysql、java
<p>首先评测您的程序(使用<code>cProfile</code>模块:<a href="https://docs.python.org/2/library/profile.html" rel="nofollow">https://docs.python.org/2/library/profile.html</a>和<a href="http://ymichael.com/2014/03/08/profiling-python-with-cprofile.html" rel="nofollow">http://ymichael.com/2014/03/08/profiling-python-with-cprofile.html</a>),但我敢打赌您的程序是IO绑定的(如果您的CPU使用率从未达到一个内核的100%,这意味着您的硬盘驱动器太慢,无法跟上程序其余部分的执行速度)。在</p>
<p>考虑到这一点,请从更改程序开始,以便:</p>
<ul>
<li>它在循环的</em>外部打开和关闭文件(打开和关闭文件非常慢)。在</li>
<li>它在每个迭代中只进行一个<code>write</code>调用(这些调用每个都转换成一个syscall,代价很高),如下:<code>f.write("%s %s\n" % (cod, md))</code></li>
</ul>