0
よろしく。 Pythonコードのパフォーマンスを分析するには、以下のコードでそれを行うことができますか?Pythonコードのパフォーマンスを分析するには?
import time
to = time.clock(); x = [];
for i in range(0,4):
x.append(i*0.1);
tend = time.clock(); print(tend-to);
to = time.clock();
y = list(map(lambda x: x*0.1, list(range(0,4))));
tend = time.clock(); print(tend-to);
タイマに矛盾があります。しかし時には、2つのタイマーの結果にも矛盾が見られることがあります(最初のタイマーは高速ですが、時には2番目のタイマーが速い場合もあります)。いくつかの出力:
4.631622925399206e-05
4.4898385501326854e-05
4.9624531343562917e-05
6.852911471254275e-05
5.0569760512011734e-05
4.867930217511418e-05
3.78091667379527e-05
2.5993802132341648e-05
私の質問は、上記のコードに関連:
- 私は、コードのパフォーマンスを計算するためのタイマーが一貫していなければならないと思いましたか?構文や戦術が他のものよりも優れていることを知るには? (他のものよりも効率的に動く)これに関する考え?
ありがとうございます。よろしく、official documentationからArief
時間の変動は小さいようですが、とにかく 'timeit'モジュールを使用してください。 –
[浮動小数点数学は壊れていますか?](https://stackoverflow.com/questions/588004/is-floating-point -math-broken) –
よろしく@Chris_Rands 'timeit'との違いは何ですか?私の重要な問題は、効率的なコードのためのより良い構文や戦術を理解し、選択する方法です。ありがとう – Arief