我已经浏览了 url,在该 url 中,最好使用缓冲区写入器来写入大量数据,但我只想知道它相对于内存映射 io 的优势,因为主要关注的是使这个过程尽可能快,但在jdk 1.5 内存映射 io 也更快,所以为什么它不是首选
user2653590
问问题
519 次
2 回答
1
我在 Chronicle 中使用内存映射文件,但我会说
内存映射文件很难使用 esp 处理文本,因为您需要随机访问并且文本具有不同长度的字符。普通 IO 是最简单的,通常比您的硬件快得多,因此除非您有 PCI SSD 卡,否则对于较大的文件,您不会注意到太大的差异。
简而言之,如果您的写入速度很慢,请检查您正在写入的硬盘驱动器,因为您可以在软件中做很多事情来使其更快。(使用压缩除外)
于 2013-08-06T08:15:22.850 回答
1
内存映射 I/O 为:
- 阅读时比 java.io 快 20%
- 写入未知长度的文件时不可用,因为您在映射时指定了长度。
于 2013-08-06T08:32:34.080 回答