当在鼠尾草中运行某个函数时,衡量所用内存的最佳方法是什么?

时间:2019-05-03 20:50:15

标签: memory memory-management sage

我正在寻找实现同一目标的几种不同方法,而我得到的主要标准是程序必须占用尽可能少的内存。我尝试过在线查找,但是我能找到的唯一与内存相关的方面是处理低级内存分配。

是否存在用于准确获取内存使用情况的函数或方法?

谢谢

1 个答案:

答案 0 :(得分:0)

是的,有!这是来自one of the Sage tickets trying to track down memory leaks的示例:

print get_memory_usage()
K = GF(10007^2, 'a')
X = PolynomialRing(K, 'x').gen()
for i in range(1000):
   s = K.random_element(); t = K.random_element()
   poly = s + t*X
print get_memory_usage()

我认为还有更复杂的用法(例如,使用Valgrind,这是一个至少用于Sage的可选软件包),所以我不能说这是否是最好的衡量方式它,但它应该是一个不错的起点。