在内存中查找单个对象的大小

时间:2016-01-31 19:37:20

标签: julia

我知道whos()函数会给出内存中所有对象的大小。这可能会很慢执行,并且有时会在某些对象上失败,从而使整个函数挂起。有没有办法获得特定对象的内存大小,类似于Python中的sys.getsizeof()函数?

2 个答案:

答案 0 :(得分:15)

varinfo()接受regular expressions来匹配对象名称,因此您可以使用类似

的内容
x = rand(100, 100)
varinfo(r"x")

获取有关x的信息。对于以字节为单位的大小,请使用

Base.summarysize(x)

编辑: 最初这个答案建议whos(),但是@Plankalkül提及whos()已重命名为varinfo(),答案已相应更新。

答案 1 :(得分:5)

您可以使用sizeof功能:

help?> sizeof
search: sizeof

  sizeof(s::AbstractString)

  The number of bytes in string s.

  sizeof(T)

  Size, in bytes, of the canonical binary representation of the given DataType T, if any.

julia> x = rand(100, 100);

julia> sizeof(x)
80000