0

python/DjangoをWeb開発に使用しています。開発段階でコーディングを行っている間print、コードの制御フローをチェックするステートメントを多くの場所に配置する傾向があります。そして、printステートメントを含む同じコードがサーバーにアップロードされます。ロギングがより適切な場所であることは知っていますが、print.

数行のコードでサイトが遅くなる場合、サイトが遅くなるかどうかを知りたい. 100 行のコードがあり、その上に 5 つのprintステートメントを追加したとします。それを調べる別の方法は、105行のコードを書いたことです。その意味で、私は違いを生むべきではありません(私は思います)。

これによりウェブサイトが遅くなりますか?

4

2 に答える 2

0

コンソールへの出力は常に遅いです...

def computationally_expensive_function(x):
    xl = reversed(range(x)[1:])
    y = x
    for z in xl:
        y = y * z
    return y

In [16]: %timeit computationally_expensive_function(5)
1000000 loops, best of 3: 1.46 us per loop

In [17]: %timeit print computationally_expensive_function(5)
<lots of prints>
100 loops, best of 3: 1.87 ms per loop

400 の階乗を取ると、反復ごとの計算は最大 147uS になり、出力は最大 3.5ms になります。つまり、結果を印刷するだけでも、小さい場合は 100 倍以上、長い場合は 20 倍以上の時間がかかります。

ただし... パフォーマンスベースのものと同様に、それは実際に問題があることを意味するものではありません. それがタイトなループにある場合 - 非常に悪いです。数分ごとに 1 回呼び出されるコード内にある場合、その余分な 1 ミリ秒のオーバーヘッドに気付くことさえありません。

于 2013-10-22T20:15:48.857 に答える