4

我有一个内部页面大小为 8k 的 SSD,但 linux 仅支持 4k 页面大小。我的问题是,当使用 java 内存映射文件时,我一次可以在 4k 或 8k 块中获得更好的性能读/写。我正在使用内存映射文件构建基于磁盘的哈希映射,其中每个存储桶是 4k 或 8k 块。如果 ssd 将读取 8k,即使我只访问它的前 4k,那么似乎我应该使用 8k 块,否则我会浪费一半的读取。但是,由于 linux 仅在 4k 块中工作,我不知道从操作系统的角度读取两页是否会有开销,即使从 ssds 的角度来看它只有一页,如果你得到我的 jist。

4

1 回答 1

0

通过使用开放寻址,您可以完全避免选择块大小。然后让操作系统和硬件找出执行每个操作的最有效方式。

于 2016-11-13T20:38:33.513 回答