作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用多个线程读取 50 GB 文件(只读),每个线程从文件中读取连续的段。我尝试了两种方法
我原以为 MemoryMappedBuffer 的性能会优于 FileChannel,但 FileChannel 的性能始终比 FileChannel 高 30% 左右。
我正在寻找解释。我一次映射 1 GB 内存,一旦用完,我就会映射另外 1 GB。
我的环境:Windows 7平台64位xeon 2.7 ghz 2处理器
最佳答案
两种变体都必须执行相同的磁盘 I/O。两者都会在内存中缓存从磁盘读取的页面。内存映射有一些页面错误开销。那么,假设有足够的物理内存可供读取,为什么您期望它会更快呢?
关于java - 为什么 FileChannel 的性能比 MemoryMappedBuffer 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40510713/
我正在使用多个线程读取 50 GB 文件(只读),每个线程从文件中读取连续的段。我尝试了两种方法 使用 FileChannel 使用从 FileChannel 获取的 MemoryMappedBuff
我是一名优秀的程序员,十分优秀!