0

私はTheGrinderを使用しており、いくつかのJava APIを実行して最小、最大、実行数、および合計実行数を収集するPythonスクリプトを使用しています(後者の2つは平均実行時間を取得します)。これは、各API(多次元配列)および各スレッドに対して実行されます。

#Contents of apiTimingsList array: [min, max, number of executions, total execution time]
apiTimingsList = [[9999,0,0,0] for j in range(len(apiList))]

私はいくつかのメモリの問題を調査していますが、このアレイのサイズが大きくなることが問題になる可能性があると思います。テストが実行されるにつれて、それは絶えず成長します。たとえば、10個のAPIがあり、900個のスレッドを実行している場合、テストが実行されている限り、9000個の配列が増え続けます。

これらの配列のサイズを制限する方法はありますか?つまり、最後のx回の実行のみを保持して、計算は引き続き有効ですが、配列が制御不能にならないようにする方法はありますか?

4

2 に答える 2

3

あなたが使用することができますcollections.deque

>>> from collections import deque
>>> d = deque(maxlen=2)
>>> d.append(3)
>>> d.append(4)
>>> d.append(5)
>>> d
    deque([4, 5], maxlen=2)
于 2013-03-10T23:18:41.723 に答える
1

dequeモジュールからのAは、collectionsおそらくあなたが望むことを達成するでしょう。

于 2013-03-10T23:18:11.987 に答える