huy*_*hjl 14 scala scala-collections
有一个关于Scala集合类的性能特征的方便页面.是否有关于内存占用的类似数据?
我有一种情况,我担心内存使用,并希望在我选择使用的集合中考虑这一点.例如,在Array[Array[T]]
和之间Vector[Vector[T]]
.
huy*_*hjl 17
这是我通过在2.9.0上填充1,000,000个对象的相应不可变序列而发现的.我让他们都指向相同的对象来分解内容的大小.
Array
:1x (32位基线4,000,016字节; 64位8,000,024字节)Vector
:1.17倍List
,Queue
,Stack
:4XStream
:10xSystem.gc
然后调用然后触发堆转储然后在Eclipse MAT中打开.
基于此Array
并且Vector
非常封闭.
您可以从简单生成多个、多维向量和不同大小的数组开始:
val vMin = Vector.fill (10 , 10)(9)
val vMed = Vector.fill (1000, 10)(9)
val aMed = Array.fill (1000, 10)(9)
Run Code Online (Sandbox Code Playgroud)
10 个由 10 个值为 9 的整数数组组成的数组,1000 个这样的数组,1000 个这样的向量...
要测量尺寸,您可以使用
$JAVA_HOME/bin/jvisualvm
Run Code Online (Sandbox Code Playgroud)