chronicle-map 持久文件大小

chronicle-map persisted file size

我想了解持久化地图文件的大小是如何计算的。

通过类似以下方式在磁盘上创建持久映射时:

ChronicleMap
   .of(Key.class, Value.class)
   .name("foo")
   .entries(1024)
   .averageKeySize(32)
   .averageValueSize(2048)
   .maxBloatFactor(1)
   .createOrRecoverPersistedTo("foo.dat")

我想预分配的“foo.dat”文件的大小是 key/value 大小、条目数和 maxBloatFactor 的函数,也许 OS 体系结构和其他因素。

所以我的问题是: 给定一组配置值,是否可以确定地知道“foo.dat”文件大小最终会是多少?

您可以简单地调用 VanillaChronicleMap#dataStoreSize() 方法,它将 return 文件大小。

有关它如何工作的详细信息,您可以查看它的 implementation - 它是开源的(尽管它不是一个微不足道的计算)。