如何HDR直方图足迹恒定

问题描述:

我不明白的HDR Histogram很基本的概念:如何HDR直方图足迹恒定

的HDR直方图保持在空间和时间的固定成本。直方图的内存占用是不变的,在记录数据值或迭代它们时不涉及分配操作。无论记录的数据值样本的数量如何,内存占用都是固定的,并且完全取决于选择的动态范围和精度。

这怎么可能?还是仅仅意味着它使用了被动队列,并且不会在堆中创建对象的新实例,同时附加队列并增加整个RAM的消耗量?

内存占用空间是固定的,记录过程中没有分配只是意味着所有必要的分配都是在实例化对象时发生的。

说出HDR直方图用于跟踪10,000个值,在构造函数中将创建所有10'000个计数器。

如果您查看Java source,则计数器是在构造函数中创建的long值的数组。

+0

谢谢@diginoise。那么,这是关于启动成本呢?我想知道为什么它没有在该页面中提到。也许这些10000值是以某种方式懒洋洋地创造出来的? – yuranos87

+0

它们不是懒洋洋地创建的 - 值存储在原始'long'的数组中,在构造函数中创建。备份直方图的整个数据结构就是这个数组,其创建并不耗时。它将占用'N *(长8个字节)+对象头' – diginoise

+0

对不起,我没有仔细检查源代码。谢谢! – yuranos87