0

ループのアンローリングに関してプログラムを最適化するツールがあるのだろうか。

次のpythonコードがあります:

for i in range(0, 1000):
       a = a * 10 + a%4 + i
for j in range(0, 1000):
       j = j + a 
for b in range(0, 1000):
      result = j + b

このコード セグメントを最適化して、ループの展開を少し理解できるようにしたいと考えています。Python で、C オプティマイザーについて知りたいです。

4

3 に答える 3

3

コードのパフォーマンスに満足できず、プロファイリングを行い、このような低レベルのループがボトルネックであることがわかった場合は、 cythonを使用して高価なコードを変換することで、コードを大幅に高速化できるはずです。 C拡張に。また、python 2.x を使用している場合は、xrange代わりにrange.

于 2011-12-14T13:53:45.890 に答える
2

Python でのループ展開の影響に関する科学論文が存在します ( pdf リンク)。関連講演のスライドです

ただし、C コードの自動最適化に関しては、LLVMをLooPoおよび場合によってはPollyと組み合わせて使用​​できます。とにかく、LLVM は良い出発点です。

于 2011-12-14T13:50:40.067 に答える