重用内存,什么时候值得?

时间:2016-01-20 19:43:51

标签: c++11 memory-management

因此,首先将其设置为示例:

我想使用稀疏的压缩数据。我知道术语"较少的数据更快"。我这样做是为了性能和内存压缩,但这不是真正的问题。

由于压缩数据的大小通常不同(就数组而言),我想重用不再有效的数组。我有点想按照"尺寸"在链表或其他东西。

但话又说回来。有些数组可能只有16个字节。有些可能超过1mb。由于将许多项目添加到链接列表中会使其不值得,因此创建新项目的速度更快。

所以我的问题是数组的大小应该是最小值,以便重新使用它?

由于这是针对基于体素的数据,我已经知道固定大小的内存更容易处理,并且更容易重用(因为它们基本上是相同的大小),我真的不想切换方法。

只是一些可能有一些价值的数字?: 块大小取决于其复杂性"。这基本上是数组的大小。 复杂程度变化很大。从4个字节到甚至100kb。 块寿命为5秒至5分钟。

1 个答案:

答案 0 :(得分:0)

  

所以我的问题是数组的大小应该是最小值,以便重新使用它?

这将取决于您系统的许多因素,很可能没有人会一般地告诉您。

找出答案的最佳方法是在程序中创建一个设置阈值的参数,然后使用各种设置测量性能。