|
|
1
2
这表明分配新数组很快。当有足够的内存可用时,这是可以预料的——基本上是增加一个指针和一点点的内务管理。 但是,请注意,这将创建一个新数组,其中所有元素都为假而不是真。
一个更合适的测试可能是调用
请注意,您的第二个表单将创建更多的垃圾—在这种情况下,它将始终保持在gen0中,并且易于收集,但是在实际的内存使用情况更为真实的应用程序中,您可能会通过创建新的数组而不是清除旧的数组而导致垃圾收集性能问题。 下面是C中的一个快速基准测试三种策略:
结果:
然而,这仍然只是使用0代-我个人希望
|
|
|
2
1
这些测试是不可比的。
你在等吗
这将重置的每个元素的内容
如果要保留内容,请增大大小-
|
|
|
3
1
我用C语言3.5测试过这个。 枚举测试所用时间:00:00:06.2656 Redim测试时间:00:00:00.0625000 如你所见,Redim的速度要快得多,因为你没有设置任何值。 |
|
4
0
我希望
微基准显示正常。 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |