Memory 在sage中运行函数时,测量所用内存的最佳方法是什么?

Memory 在sage中运行函数时,测量所用内存的最佳方法是什么?,memory,memory-management,sage,Memory,Memory Management,Sage,我正在寻找几种不同的方法来实现相同的目标,我得到的主要标准是程序必须尽可能少地使用内存。我试着在网上查找,但我能找到的唯一与内存相关的方面是处理低级别内存分配 是否有一个函数或方法可以准确地获取内存使用情况 谢谢是的,有!以下是一个例子: 我认为可能有更复杂的用途(例如使用Valgrind,这是一个可选的软件包,至少用于Sage),因此我不能说这是否是衡量它的最佳方法,但它应该是一个很好的起点。是的,有!以下是一个例子: 我认为可能有更复杂的用途(例如,使用Valgrind,这是一个可选的包,至

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

是否有一个函数或方法可以准确地获取内存使用情况


谢谢

是的,有!以下是一个例子:


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

是的,有!以下是一个例子:

我认为可能有更复杂的用途(例如,使用Valgrind,这是一个可选的包,至少用于Sage),因此我不能说这是否是衡量它的最佳方法,但它应该是一个好的起点

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()