0

我无法理解HDR 直方图的基本概念:

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

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

4

1 回答 1

1

内存占用是固定的并且在记录期间没有分配仅仅意味着所有必要的分配都发生在对象的实例化时。

假设HDR 直方图要跟踪 10'000 个值,则在构造函数中将创建所有 10'000 个计数器。

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

于 2017-12-18T10:10:54.563 回答