0

我正在使用 The Grinder,并且我有一个 Python 脚本,它执行一些 Java API 以收集最小、最大、执行次数和总执行次数(后 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模块中的Acollections可能会完成您想要的。

于 2013-03-10T23:18:11.987 回答