首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ io流与mmap

C++ io流与mmap
EN

Stack Overflow用户
提问于 2015-11-28 21:59:25
回答 1查看 742关注 0票数 2

我正在C++中为一个键值商店启动一个小项目。我想知道在可伸缩性和性能方面,C++ std流与mmap相比如何。与使用mmap/ using相比,如何在RAM中不适合的文件上使用ifstream::seekg?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-29 15:40:55

最终,任何Linux用户地应用程序都在使用系统(2),包括C++ I/O库。

非常小心,mmapmadvise (或lseek + read & posix_fadvise)可能比C++流(使用read和其他系统(2).)更有效;但是滥用系统(例如read-ing太小的缓冲区)可能会带来灾难性的性能

此外,Linux有一个非常好的页缓存 (用于包含最近访问的部分文件数据)。性能也取决于档案系统 (硬件、-SSD和机械硬盘是不同的野兽--计算机)。

也许你不应该重新发明你自己的东西,使用方石岩,或者gdbm,或者雷迪斯,或者mongodbpostgresql,或者梅卡奇等等.

性能和权衡在很大程度上取决于实际的使用(笔记本电脑上的单个4G日志文件与数据中心中的视频或基因组数据的千兆字节不一样)。因此,基准测试(注意,许多像我提到的工具都可以被明智地调优)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33976891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档