我正在使用FileOutputStream
实例(由CodedOutputStream
对象包装)来编写协议缓冲区输出。
我想知道是否可以使用内存映射文件,以及这样做是否会带来值得注意的性能提升。
感谢。
答案 0 :(得分:1)
可以实现这一点,但你不会看到任何性能提升。在您描述的场景中,使用流对象和文件映射之间的唯一区别是哪个子系统正在执行I / O(启动读/写)。对于文件映射,内存管理器会处理为读取操作生成页面错误,并会在闲暇时保留脏(写入)页面。
对于序列化协议缓冲区,基于流的基于流的文件I / O是最简单,最便携的解决方案。